本文整理汇总了Java中org.ofbiz.common.image.ImageTransform类的典型用法代码示例。如果您正苦于以下问题:Java ImageTransform类的具体用法?Java ImageTransform怎么用?Java ImageTransform使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ImageTransform类属于org.ofbiz.common.image包,在下文中一共展示了ImageTransform类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: scaleImageCore
import org.ofbiz.common.image.ImageTransform; //导入依赖的package包/类
@Override
public BufferedImage scaleImageCore(BufferedImage image, int targetWidth, int targetHeight, Map<String, Object> options) throws IOException {
if (image.getWidth() == targetWidth && image.getHeight() == targetHeight) {
return image;
} else {
BufferedImage destImage = ImageTransform.createCompatibleBufferedImage(image, targetWidth, targetHeight);
Graphics g = destImage.createGraphics();
try {
g.drawImage(image, 0, 0, null);
} finally {
g.dispose();
}
return destImage;
}
}
示例2: combineBufferedImage
import org.ofbiz.common.image.ImageTransform; //导入依赖的package包/类
/**
* combineBufferedImage.
* SCIPIO: 2017-07-10: modified to take a typeReferenceImage instance of bufImgType, so we have the full
* information to replicate the original image type, needed for indexed images.
*/
public static BufferedImage combineBufferedImage(Image image1, Image image2, BufferedImage typeReferenceImage) {
// Full image loading
image1 = new ImageIcon(image1).getImage();
image2 = new ImageIcon(image2).getImage();
// New BufferedImage creation
// SCIPIO: indexed images fix
BufferedImage bufferedImage;
Graphics2D g;
if (image1 instanceof BufferedImage && ImagePixelType.isTypeImageOpFriendly(((BufferedImage) image1).getType())) {
// still create a copy to avoid modifying the original
bufferedImage = ImageTransform.cloneBufferedImage((BufferedImage) image1);
g = bufferedImage.createGraphics();
} else {
bufferedImage = ImageTransform.createBufferedImage(ImageType.DEFAULT_IMAGEOP.getImageTypeInfoFor(typeReferenceImage), image1.getWidth(null),
image1.getHeight(null));
g = bufferedImage.createGraphics();
g.drawImage(image1, null, null);
}
// Draw Image combine
Point2D center = new Point2D.Float(bufferedImage.getHeight() / 2, bufferedImage.getWidth() / 2);
AffineTransform at = AffineTransform.getTranslateInstance(center.getX( ) - (image2.getWidth(null) / 2), center.getY( ) - (image2.getHeight(null) / 2));
g.transform(at);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.drawImage(image2, 0, 0, null);
Composite c = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .35f);
g.setComposite(c);
at = AffineTransform.getTranslateInstance(center.getX( ) - (bufferedImage.getWidth(null) / 2), center.getY( ) - (bufferedImage.getHeight(null) / 2));
g.setTransform(at);
g.drawImage(bufferedImage, 0, 0, null);
g.dispose();
// SCIPIO: new: we convert to the target type only at the very end, in separate step, so the previous operations don't suffer from color loss
if (ImageType.imageMatchesRequestedType(bufferedImage, typeReferenceImage)) {
return bufferedImage;
} else {
BufferedImage resultImage = ImageTransform.createCompatibleBufferedImage(typeReferenceImage, bufferedImage.getWidth(null), bufferedImage.getHeight(null));
ImageTransform.copyToBufferedImage(bufferedImage, resultImage);
return( resultImage );
}
}
示例3: resizeImageThumbnail
import org.ofbiz.common.image.ImageTransform; //导入依赖的package包/类
public static Map<String, Object> resizeImageThumbnail(BufferedImage bufImg, double imgHeight, double imgWidth) {
/* VARIABLES */
BufferedImage bufNewImg;
double defaultHeight, defaultWidth, scaleFactor;
Map<String, Object> result = FastMap.newInstance();
/* DIMENSIONS from ImageProperties */
defaultHeight = 100;
defaultWidth = 100;
/* SCALE FACTOR */
// find the right Scale Factor related to the Image Dimensions
if (imgHeight > imgWidth) {
scaleFactor = defaultHeight / imgHeight;
// get scaleFactor from the smallest width
if (defaultWidth < (imgWidth * scaleFactor)) {
scaleFactor = defaultWidth / imgWidth;
}
} else {
scaleFactor = defaultWidth / imgWidth;
// get scaleFactor from the smallest height
if (defaultHeight < (imgHeight * scaleFactor)) {
scaleFactor = defaultHeight / imgHeight;
}
}
int bufImgType;
if (BufferedImage.TYPE_CUSTOM == bufImg.getType()) {
// apply a type for image majority
bufImgType = BufferedImage.TYPE_INT_ARGB_PRE;
} else {
bufImgType = bufImg.getType();
}
// scale original image with new size
Image newImg = bufImg.getScaledInstance((int) (imgWidth * scaleFactor), (int) (imgHeight * scaleFactor), Image.SCALE_SMOOTH);
bufNewImg = ImageTransform.toBufferedImage(newImg, bufImgType);
result.put("bufferedImage", bufNewImg);
result.put("scaleFactor", scaleFactor);
return result;
}
示例4: resizeImage
import org.ofbiz.common.image.ImageTransform; //导入依赖的package包/类
public static Map<String, Object> resizeImage(BufferedImage bufImg, double imgHeight, double imgWidth, double resizeHeight, double resizeWidth) {
/* VARIABLES */
BufferedImage bufNewImg;
double defaultHeight, defaultWidth, scaleFactor;
Map<String, Object> result = FastMap.newInstance();
/* DIMENSIONS from ImageProperties */
defaultHeight = resizeHeight;
defaultWidth = resizeWidth;
/* SCALE FACTOR */
// find the right Scale Factor related to the Image Dimensions
if (imgHeight > imgWidth) {
scaleFactor = defaultHeight / imgHeight;
// get scaleFactor from the smallest width
if (defaultWidth < (imgWidth * scaleFactor)) {
scaleFactor = defaultWidth / imgWidth;
}
} else {
scaleFactor = defaultWidth / imgWidth;
// get scaleFactor from the smallest height
if (defaultHeight < (imgHeight * scaleFactor)) {
scaleFactor = defaultHeight / imgHeight;
}
}
int bufImgType;
if (BufferedImage.TYPE_CUSTOM == bufImg.getType()) {
// apply a type for image majority
bufImgType = BufferedImage.TYPE_INT_ARGB_PRE;
} else {
bufImgType = bufImg.getType();
}
// scale original image with new size
Image newImg = bufImg.getScaledInstance((int) (imgWidth * scaleFactor), (int) (imgHeight * scaleFactor), Image.SCALE_SMOOTH);
bufNewImg = ImageTransform.toBufferedImage(newImg, bufImgType);
result.put("bufferedImage", bufNewImg);
result.put("scaleFactor", scaleFactor);
return result;
}