1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public class MyImage extends BufferedImage {
public MyImage(int width, int height,int imageType) {
super(width,height,imageType);
}
public int Pixel(int y, int x) {
switch (getType()) {
// 1 plane (gray)
case BufferedImage.TYPE_BYTE_BINARY:
case BufferedImage.TYPE_USHORT_GRAY:
case BufferedImage.TYPE_BYTE_GRAY:
case BufferedImage.TYPE_BYTE_INDEXED:
return getRaster().getSample(x, y, 0);
// 3 planes (r,g,b)
case BufferedImage.TYPE_INT_ARGB:
case BufferedImage.TYPE_INT_RGB:
int r = getRaster().getSample(x, y, 0);
int g = getRaster().getSample(x, y, 1);
int b = getRaster().getSample(x, y, 2);
return (r<<16)|(g<<8)|b;
default:
throw new RuntimeException("Bad Image Type : "+getType());
}
}
} |
Partager