use of java.awt.image.ComponentColorModel in project jdk8u_jdk by JetBrains.
the class BMPSubsamplingTest method create3ByteImage.
private BufferedImage create3ByteImage(int[] nBits, int[] bOffs) {
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
ColorModel colorModel = new ComponentColorModel(cs, nBits, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
WritableRaster raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h, w * 3, 3, bOffs, null);
return new BufferedImage(colorModel, raster, false, null);
}
use of java.awt.image.ComponentColorModel in project jdk8u_jdk by JetBrains.
the class NoExtraBytesTest method createTestImage.
private static BufferedImage createTestImage(int type) {
BufferedImage dst = null;
ColorModel colorModel = null;
WritableRaster raster = null;
ColorSpace cs = null;
System.out.println("Create image for " + getImageTypeName(type));
switch(type) {
case TYPE_INT_GRB:
colorModel = new DirectColorModel(24, 0x0000ff00, 0x00ff0000, 0x000000ff);
break;
case TYPE_INT_GBR:
colorModel = new DirectColorModel(24, 0x000000ff, 0x00ff0000, 0x0000ff00);
break;
case TYPE_INT_RBG:
colorModel = new DirectColorModel(24, 0x00ff0000, 0x000000ff, 0x0000ff00);
break;
case TYPE_INT_BRG:
colorModel = new DirectColorModel(24, 0x0000ff00, 0x000000ff, 0x00ff0000);
break;
case TYPE_INT_555_GRB:
colorModel = new DirectColorModel(24, 0x0000001F, 0x000003e0, 0x00007c00);
break;
case TYPE_3BYTE_RGB:
cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
int[] nBits = { 8, 8, 8 };
int[] bOffs = { 0, 1, 2 };
colorModel = new ComponentColorModel(cs, nBits, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h, w * 3, 3, bOffs, null);
break;
case TYPE_3BYTE_GRB:
cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
//nBits = {8, 8, 8};
//bOffs = {0, 1, 2};
colorModel = new ComponentColorModel(cs, new int[] { 8, 8, 8 }, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h, w * 3, 3, new int[] { 1, 0, 2 }, null);
break;
default:
dst = new BufferedImage(w, h, type);
}
if (dst == null) {
if (raster == null) {
raster = colorModel.createCompatibleWritableRaster(w, h);
}
dst = new BufferedImage(colorModel, raster, false, null);
}
Graphics g = dst.createGraphics();
for (int i = 0; i < usedColors.length; i++) {
g.setColor(usedColors[i]);
g.fillRect(i * dx, 0, dx, h);
}
g.dispose();
return dst;
}
use of java.awt.image.ComponentColorModel in project jdk8u_jdk by JetBrains.
the class Write3ByteBgrTest method createTestImage.
private static BufferedImage createTestImage(int type, Color c) {
BufferedImage i = null;
if (type == BufferedImage.TYPE_CUSTOM) {
WritableRaster wr = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, width, height, // scanlineStride
width, // bankIndices[],
new int[] { 0, 1, 2 }, // bankOffsets[],
new int[] { 1, 2, 0 }, null);
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
ColorModel cm = new ComponentColorModel(cs, new int[] { 8, 8, 8 }, false, false, ColorModel.OPAQUE, DataBuffer.TYPE_BYTE);
i = new BufferedImage(cm, wr, false, null);
} else {
i = new BufferedImage(width, height, type);
}
Graphics2D g = i.createGraphics();
g.setColor(c);
g.fillRect(0, 0, width, height);
g.setColor(Color.white);
g.drawRect(10, 10, width - 20, height - 20);
return i;
}
use of java.awt.image.ComponentColorModel in project jdk8u_jdk by JetBrains.
the class IndexingTest method doTest.
public void doTest() {
ComponentColorModel ccm = createBitmaskColorModel();
BufferedImage img = createComponentImage(w, h, ccm);
try {
ImageWriter w = ImageIO.getImageWritersByFormatName("GIF").next();
w.setOutput(ImageIO.createImageOutputStream(new File(fname)));
w.write(img);
} catch (Exception e) {
throw new RuntimeException("Test failed.", e);
}
BufferedImage dst = null;
try {
dst = ImageIO.read(new File(fname));
} catch (Exception e) {
throw new RuntimeException("Test failed.", e);
}
compareImages(img, dst);
System.out.println("Test passed.");
}
use of java.awt.image.ComponentColorModel in project jdk8u_jdk by JetBrains.
the class ImageFactory method createCCMImage.
public static BufferedImage createCCMImage(int cs, int dataType) {
ColorSpace cSpace = ColorSpace.getInstance(cs);
ComponentColorModel ccm = null;
if (dataType == DataBuffer.TYPE_INT) {
ccm = new ComponentColorModel(cSpace, ((cs == ColorSpace.CS_GRAY) ? new int[] { 8 } : new int[] { 8, 8, 8 }), false, false, Transparency.OPAQUE, dataType);
} else {
ccm = new ComponentColorModel(cSpace, false, false, Transparency.OPAQUE, dataType);
}
SampleModel sm = ccm.createCompatibleSampleModel(WIDTH, HEIGHT);
WritableRaster raster = ccm.createCompatibleWritableRaster(WIDTH, HEIGHT);
DataBuffer data = raster.getDataBuffer();
fillCCM(data, sm, cSpace);
return new BufferedImage(ccm, raster, false, null);
}
Aggregations