當前位置: 首頁>>代碼示例>>Java>>正文


Java ImageTransform類代碼示例

本文整理匯總了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;
    }
}
 
開發者ID:ilscipio,項目名稱:scipio-erp,代碼行數:16,代碼來源:PreserveImageScaler.java

示例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 );
    }
}
 
開發者ID:ilscipio,項目名稱:scipio-erp,代碼行數:48,代碼來源:FrameImage.java

示例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;
}
 
開發者ID:gildaslemoal,項目名稱:elpi,代碼行數:46,代碼來源:ImageManagementServices.java

示例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;
}
 
開發者ID:gildaslemoal,項目名稱:elpi,代碼行數:46,代碼來源:ImageManagementServices.java


注:本文中的org.ofbiz.common.image.ImageTransform類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。