get BufferedImage Pixels - Java 2D Graphics

Java examples for 2D Graphics:BufferedImage Pixel

Description

get BufferedImage Pixels

Demo Code


//package com.java2s;
import java.awt.image.BufferedImage;
import java.awt.image.Raster;

public class Main {
    public static int[] getPixels(BufferedImage img, int x, int y, int w,
            int h, int[] pixels) {
        if (w == 0 || h == 0) {
            return new int[0];
        }/*from www.j av  a2s . co m*/
        if (pixels == null) {
            pixels = new int[w * h];
        } else if (pixels.length < w * h) {
            throw new IllegalArgumentException(
                    "pixels array must have a length >= w*h");
        }

        int imageType = img.getType();
        if (imageType == BufferedImage.TYPE_INT_ARGB
                || imageType == BufferedImage.TYPE_INT_RGB) {
            Raster raster = img.getRaster();
            return (int[]) raster.getDataElements(x, y, w, h, pixels);
        }

        return img.getRGB(x, y, w, h, pixels, 0, w);
    }
}

Related Tutorials