Example usage for java.awt.image BufferedImage TYPE_INT_ARGB_PRE

List of usage examples for java.awt.image BufferedImage TYPE_INT_ARGB_PRE

Introduction

In this page you can find the example usage for java.awt.image BufferedImage TYPE_INT_ARGB_PRE.

Prototype

int TYPE_INT_ARGB_PRE

To view the source code for java.awt.image BufferedImage TYPE_INT_ARGB_PRE.

Click Source Link

Document

Represents an image with 8-bit RGBA color components packed into integer pixels.

Usage

From source file:org.codice.alliance.imaging.chip.transformer.CatalogOutputAdapter.java

private void setImageDataFields(BufferedImage chip, ImageSegment chipImageSegment) throws IOException {

    int[] componentSizes = chip.getColorModel().getComponentSize();
    int pixelSize = chip.getColorModel().getPixelSize();

    switch (chip.getType()) {
    case BufferedImage.TYPE_BYTE_GRAY:
    case BufferedImage.TYPE_USHORT_GRAY:
    case BufferedImage.TYPE_BYTE_BINARY:
        setMonochrome(chipImageSegment, componentSizes[0], pixelSize);
        break;/*  w  ww  . ja va  2  s.c  om*/
    case BufferedImage.TYPE_3BYTE_BGR:
    case BufferedImage.TYPE_INT_BGR:
        setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBTRUECOLOUR,
                componentSizes[0], pixelSize / 3, new String[] { "B", "G", "R" });
        break;
    case BufferedImage.TYPE_4BYTE_ABGR:
    case BufferedImage.TYPE_4BYTE_ABGR_PRE:
        setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBTRUECOLOUR,
                componentSizes[0], pixelSize / 4, new String[] { "B", "G", "R" });
        break;
    case BufferedImage.TYPE_INT_ARGB_PRE:
    case BufferedImage.TYPE_INT_ARGB:
        setARGB(chipImageSegment, componentSizes[0], pixelSize);
        break;
    case BufferedImage.TYPE_INT_RGB:
    case BufferedImage.TYPE_USHORT_555_RGB:
        setRGB(chipImageSegment, componentSizes[0], pixelSize);
        break;
    case BufferedImage.TYPE_CUSTOM:
        if (componentSizes.length == 1) {
            setMonochrome(chipImageSegment, componentSizes[0], pixelSize);
        } else if (componentSizes.length == 3) {
            setRGB(chipImageSegment, componentSizes[0], pixelSize);
        } else if (componentSizes.length == 4) {
            setARGB(chipImageSegment, componentSizes[0], pixelSize);
        } else {
            throw new IOException(
                    "unsupported color model for image type CUSTOM, only monochrome and 32-bit argb are supported");
        }
        break;
    case BufferedImage.TYPE_BYTE_INDEXED:
        setImageFieldHelper(chipImageSegment, PixelValueType.INTEGER, ImageRepresentation.RGBLUT,
                componentSizes[0], pixelSize, new String[] { "LU" });
        break;
    case BufferedImage.TYPE_USHORT_565_RGB:
        // don't know how to handle this one, since the bitsPerPixelPerBand is not consistent
        break;
    default:
        throw new IOException("unsupported image data type: type=" + chip.getType());
    }
}

From source file:org.ofbiz.product.imagemanagement.ImageManagementServices.java

public static Map<String, Object> resizeImageThumbnail(BufferedImage bufImg, double imgHeight,
        double imgWidth) {

    /* VARIABLES */
    BufferedImage bufNewImg;/* w w w.  j a va  2s.c  o m*/
    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;
}

From source file:org.ofbiz.product.imagemanagement.ImageManagementServices.java

public static Map<String, Object> resizeImage(BufferedImage bufImg, double imgHeight, double imgWidth,
        double resizeHeight, double resizeWidth) {

    /* VARIABLES */
    BufferedImage bufNewImg;//from ww  w.j a  va2  s  .c  o m
    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;
}

From source file:z.tool.util.image.ImageUtil.java

/**
 * /* ww  w . j av a2s.  com*/
 */
public static void resize(InputStream inputStream, ImageType destType, OutputStream outputStream,
        int maxNewWidth, int maxNewHeight) {
    if (null == inputStream) {
        throw new IllegalArgumentException("inputStream is null");
    }

    if (null == destType) {
        throw new IllegalArgumentException("destType is null");
    }

    if (null == outputStream) {
        throw new IllegalArgumentException("outputStream is null");
    }

    try {
        Image srcImage = ImageIO.read(inputStream);

        // ?
        int srcImageWidth = srcImage.getWidth(null);
        int srcImageHeight = srcImage.getHeight(null);

        if (0 == maxNewWidth || 0 == maxNewHeight
                || (srcImageWidth <= maxNewWidth && srcImageHeight <= maxNewHeight)) {
            maxNewWidth = srcImageWidth;
            maxNewHeight = srcImageHeight;
        } else {
            // 
            // ?
            if (srcImageWidth >= srcImageHeight) {
                // ???
                maxNewHeight = (int) Math.round((srcImageHeight * maxNewWidth * 1.0 / srcImageWidth));
            } else {
                // ???
                maxNewWidth = (int) Math.round((srcImageWidth * maxNewHeight * 1.0 / srcImageHeight));
            }
        }

        BufferedImage distImage = new BufferedImage(maxNewWidth, maxNewHeight, BufferedImage.TYPE_INT_ARGB_PRE);

        Graphics2D graphics2d = distImage.createGraphics();
        graphics2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        // 
        graphics2d.drawImage(srcImage.getScaledInstance(maxNewWidth, maxNewHeight, Image.SCALE_SMOOTH), 0, 0,
                null);

        // ?
        ImageIO.write(distImage, destType.name(), outputStream);
    } catch (IOException e) {
        LOG.error("method:resize,destType:" + destType + ",maxNewHeight:" + maxNewHeight + ",maxNewWidth:"
                + maxNewWidth + ",errorMsg:" + e.getMessage(), e);
        throw new HumanNeededError(Error.IO_ERROR);
    }
}