Here are the examples of the java api class java.awt.image.ColorConvertOp taken from open source projects.
1. PDColorSpace#toRGBImageAWT()
Project: pdfbox
File: PDColorSpace.java
File: PDColorSpace.java
/** * Returns the (A)RGB equivalent of the given raster, using the given AWT color space * to perform the conversion. * @param raster the source raster * @param colorSpace the AWT * @return an (A)RGB buffered image */ protected BufferedImage toRGBImageAWT(WritableRaster raster, ColorSpace colorSpace) { // // WARNING: this method is performance sensitive, modify with care! // // ICC Profile color transforms are only fast when performed using ColorConvertOp ColorModel colorModel = new ComponentColorModel(colorSpace, false, false, Transparency.OPAQUE, raster.getDataBuffer().getDataType()); BufferedImage src = new BufferedImage(colorModel, raster, false, null); BufferedImage dest = new BufferedImage(raster.getWidth(), raster.getHeight(), BufferedImage.TYPE_INT_RGB); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dest); return dest; }
2. ColConvDCMTest#testSubImage()
Project: openjdk
File: ColConvDCMTest.java
File: ColConvDCMTest.java
static boolean testSubImage(int x0, int y0, int dx, int dy, int type, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createDCMImage(type, cs); BufferedImage subSrc = src.getSubimage(x0, y0, dx, dy); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); BufferedImage subDst = dst.getSubimage(x0, y0, dx, dy); ColorConvertOp op = new ColorConvertOp(null); op.filter(subSrc, subDst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(subDst, gldImage, x0, y0, dx, dy); if (!result) { System.err.println(cmp.getStat()); } return result; }
3. ColConvDCMTest#testImage()
Project: openjdk
File: ColConvDCMTest.java
File: ColConvDCMTest.java
static boolean testImage(int type, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createDCMImage(type, cs); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(gldImage, dst); if (!result) { System.err.println(cmp.getStat()); } return result; }
4. ColConvCCMTest#testSubImage()
Project: openjdk
File: ColConvCCMTest.java
File: ColConvCCMTest.java
static boolean testSubImage(int x0, int y0, int dx, int dy, int dataType, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createCCMImage(cs, dataType); BufferedImage subSrc = src.getSubimage(x0, y0, dx, dy); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); BufferedImage subDst = dst.getSubimage(x0, y0, dx, dy); ColorConvertOp op = new ColorConvertOp(null); op.filter(subSrc, subDst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(subDst, gldImage, x0, y0, dx, dy); if (!result) { System.err.println(cmp.getStat()); } return result; }
5. ColConvCCMTest#testImage()
Project: openjdk
File: ColConvCCMTest.java
File: ColConvCCMTest.java
static boolean testImage(int dataType, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createCCMImage(cs, dataType); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(gldImage, dst); if (!result) { System.err.println(cmp.getStat()); } return result; }
6. ColConvDCMTest#testSubImage()
Project: jdk7u-jdk
File: ColConvDCMTest.java
File: ColConvDCMTest.java
static boolean testSubImage(int x0, int y0, int dx, int dy, int type, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createDCMImage(type, cs); BufferedImage subSrc = src.getSubimage(x0, y0, dx, dy); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); BufferedImage subDst = dst.getSubimage(x0, y0, dx, dy); ColorConvertOp op = new ColorConvertOp(null); op.filter(subSrc, subDst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(subDst, gldImage, x0, y0, dx, dy); if (!result) { System.err.println(cmp.getStat()); } return result; }
7. ColConvDCMTest#testImage()
Project: jdk7u-jdk
File: ColConvDCMTest.java
File: ColConvDCMTest.java
static boolean testImage(int type, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createDCMImage(type, cs); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(gldImage, dst); if (!result) { System.err.println(cmp.getStat()); } return result; }
8. ColConvCCMTest#testSubImage()
Project: jdk7u-jdk
File: ColConvCCMTest.java
File: ColConvCCMTest.java
static boolean testSubImage(int x0, int y0, int dx, int dy, int dataType, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createCCMImage(cs, dataType); BufferedImage subSrc = src.getSubimage(x0, y0, dx, dy); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); BufferedImage subDst = dst.getSubimage(x0, y0, dx, dy); ColorConvertOp op = new ColorConvertOp(null); op.filter(subSrc, subDst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(subDst, gldImage, x0, y0, dx, dy); if (!result) { System.err.println(cmp.getStat()); } return result; }
9. ColConvCCMTest#testImage()
Project: jdk7u-jdk
File: ColConvCCMTest.java
File: ColConvCCMTest.java
static boolean testImage(int dataType, int rBits, int gBits, int bBits, int cs, BufferedImage gldImage, double accuracy) { BufferedImage src = ImageFactory.createCCMImage(cs, dataType); BufferedImage dst = ImageFactory.createDstImage(BufferedImage.TYPE_INT_RGB); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); ImageComparator cmp = new ImageComparator(accuracy, rBits, gBits, bBits); boolean result = cmp.compare(gldImage, dst); if (!result) { System.err.println(cmp.getStat()); } return result; }
10. ColorTools#convertBetweenColorSpaces()
Project: sanselan
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertBetweenColorSpaces(BufferedImage bi, ColorSpace from, ColorSpace to) { RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); ColorConvertOp op = new ColorConvertOp(from, to, hints); bi = relabelColorSpace(bi, from); BufferedImage result = op.filter(bi, null); result = relabelColorSpace(result, to); return result; }
11. ColorTools#convertToColorSpace()
Project: sanselan
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertToColorSpace(BufferedImage bi, ColorSpace to) { ColorSpace from = bi.getColorModel().getColorSpace(); RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); ColorConvertOp op = new ColorConvertOp(from, to, hints); BufferedImage result = op.filter(bi, null); result = relabelColorSpace(result, to); return result; }
12. InvalidRenderIntentTest#main()
Project: openjdk
File: InvalidRenderIntentTest.java
File: InvalidRenderIntentTest.java
public static void main(String[] args) { ICC_Profile pSRGB = ICC_Profile.getInstance(CS_sRGB); byte[] raw_data = pSRGB.getData(); setRenderingIntent(0x1000000, raw_data); ICC_Profile p = ICC_Profile.getInstance(raw_data); ICC_ColorSpace cs = new ICC_ColorSpace(p); // perfrom test color conversion ColorConvertOp op = new ColorConvertOp(cs, ColorSpace.getInstance(CS_sRGB), null); BufferedImage src = new BufferedImage(1, 1, TYPE_3BYTE_BGR); BufferedImage dst = new BufferedImage(1, 1, TYPE_3BYTE_BGR); try { op.filter(src.getRaster(), dst.getRaster()); } catch (CMMException e) { throw new RuntimeException("Test failed.", e); } System.out.println("Test passed."); }
13. ColorTools#convertBetweenColorSpaces()
Project: commons-imaging
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertBetweenColorSpaces(BufferedImage bi, final ColorSpace from, final ColorSpace to) { final RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); final ColorConvertOp op = new ColorConvertOp(from, to, hints); bi = relabelColorSpace(bi, from); BufferedImage result = op.filter(bi, null); result = relabelColorSpace(result, to); return result; }
14. ColorTools#convertToColorSpace()
Project: commons-imaging
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertToColorSpace(final BufferedImage bi, final ColorSpace to) { final ColorSpace from = bi.getColorModel().getColorSpace(); final RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); final ColorConvertOp op = new ColorConvertOp(from, to, hints); BufferedImage result = op.filter(bi, null); result = relabelColorSpace(result, to); return result; }
15. ColCvtIntARGB#main()
Project: openjdk
File: ColCvtIntARGB.java
File: ColCvtIntARGB.java
public static void main(String args[]) { // // Build a 1 pixel ARGB, non-premultiplied image // BufferedImage src = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); // Set src pixel value Color pelColor = new Color(100, 100, 100, 128); src.setRGB(0, 0, pelColor.getRGB()); // // ColorConvertOp filter // ColorConvertOp op = new ColorConvertOp(null); // // Test ARGB -> ARGB_PRE // BufferedImage dst = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE); op.filter(src, dst); if (((dst.getRGB(0, 0) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } // // Test ARGB -> ARGB // dst = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); op.filter(src, dst); if (((dst.getRGB(0, 0) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } }
16. ColCvtIntARGB#main()
Project: jdk7u-jdk
File: ColCvtIntARGB.java
File: ColCvtIntARGB.java
public static void main(String args[]) { // // Build a 1 pixel ARGB, non-premultiplied image // BufferedImage src = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); // Set src pixel value Color pelColor = new Color(100, 100, 100, 128); src.setRGB(0, 0, pelColor.getRGB()); // // ColorConvertOp filter // ColorConvertOp op = new ColorConvertOp(null); // // Test ARGB -> ARGB_PRE // BufferedImage dst = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE); op.filter(src, dst); if (((dst.getRGB(0, 0) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } // // Test ARGB -> ARGB // dst = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); op.filter(src, dst); if (((dst.getRGB(0, 0) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } }
17. ImageTransformUtils#convertToGrayscale()
Project: simpleimage
File: ImageTransformUtils.java
File: ImageTransformUtils.java
public static BufferedImage convertToGrayscale(BufferedImage input) { BufferedImage output = new BufferedImage(input.getWidth(), input.getHeight(), input.getType()); ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); op.filter(input, output); return output; }
18. ColCvtAlpha#main()
Project: openjdk
File: ColCvtAlpha.java
File: ColCvtAlpha.java
public static void main(String args[]) { BufferedImage src = new BufferedImage(1, 10, BufferedImage.TYPE_INT_ARGB); // Set src pixel values Color pelColor = new Color(100, 100, 100, 128); for (int i = 0; i < 10; i++) { src.setRGB(0, i, pelColor.getRGB()); } ColorModel cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] { 8, 8 }, true, src.getColorModel().isAlphaPremultiplied(), Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE); SampleModel sm = new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 100, 100, 2, 200, new int[] { 0, 1 }); WritableRaster wr = Raster.createWritableRaster(sm, new Point(0, 0)); BufferedImage dst = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null); dst = dst.getSubimage(0, 0, 1, 10); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); for (int i = 0; i < 10; i++) { if (((dst.getRGB(0, i) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } } }
19. Lookup#toGray()
Project: lookup
File: Lookup.java
File: Lookup.java
public static BufferedImage toGray(BufferedImage bi) { BufferedImage out = new BufferedImage(bi.getWidth(), bi.getHeight(), BufferedImage.TYPE_BYTE_GRAY); ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); op.filter(bi, out); return out; }
20. ImageUtils#convertToGrayscaleTexture()
Project: jmonkeyengine
File: ImageUtils.java
File: ImageUtils.java
/** * This method converts the given texture into black and whit (grayscale) texture. * * @param source * the source texture * @return grayscale texture */ public static Image convertToGrayscaleTexture(Image source) { BufferedImage sourceImage = ImageToAwt.convert(source, false, false, 0); ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); op.filter(sourceImage, sourceImage); return ImageUtils.toJmeImage(sourceImage, source.getFormat()); }
21. ImageUtils#convertToNormalMapTexture()
Project: jmonkeyengine
File: ImageUtils.java
File: ImageUtils.java
/** * This method converts the given texture into normal-map texture. * * @param source * the source texture * @param strengthFactor * the normal strength factor * @return normal-map texture */ public static Image convertToNormalMapTexture(Image source, float strengthFactor) { BufferedImage sourceImage = ImageToAwt.convert(source, false, false, 0); BufferedImage heightMap = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_INT_ARGB); BufferedImage bumpMap = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_INT_ARGB); ColorConvertOp gscale = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); gscale.filter(sourceImage, heightMap); Vector3f S = new Vector3f(); Vector3f T = new Vector3f(); Vector3f N = new Vector3f(); for (int x = 0; x < bumpMap.getWidth(); ++x) { for (int y = 0; y < bumpMap.getHeight(); ++y) { // generating bump pixel S.x = 1; S.y = 0; S.z = strengthFactor * ImageUtils.getHeight(heightMap, x + 1, y) - strengthFactor * ImageUtils.getHeight(heightMap, x - 1, y); T.x = 0; T.y = 1; T.z = strengthFactor * ImageUtils.getHeight(heightMap, x, y + 1) - strengthFactor * ImageUtils.getHeight(heightMap, x, y - 1); float den = (float) Math.sqrt(S.z * S.z + T.z * T.z + 1); N.x = -S.z; N.y = -T.z; N.z = 1; N.divideLocal(den); // setting thge pixel in the result image bumpMap.setRGB(x, y, ImageUtils.vectorToColor(N.x, N.y, N.z)); } } return ImageUtils.toJmeImage(bumpMap, source.getFormat()); }
22. ColCvtAlpha#main()
Project: jdk7u-jdk
File: ColCvtAlpha.java
File: ColCvtAlpha.java
public static void main(String args[]) { BufferedImage src = new BufferedImage(1, 10, BufferedImage.TYPE_INT_ARGB); // Set src pixel values Color pelColor = new Color(100, 100, 100, 128); for (int i = 0; i < 10; i++) { src.setRGB(0, i, pelColor.getRGB()); } ColorModel cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] { 8, 8 }, true, src.getColorModel().isAlphaPremultiplied(), Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE); SampleModel sm = new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 100, 100, 2, 200, new int[] { 0, 1 }); WritableRaster wr = Raster.createWritableRaster(sm, new Point(0, 0)); BufferedImage dst = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null); dst = dst.getSubimage(0, 0, 1, 10); ColorConvertOp op = new ColorConvertOp(null); op.filter(src, dst); for (int i = 0; i < 10; i++) { if (((dst.getRGB(0, i) >> 24) & 0xff) != 128) { throw new RuntimeException("Incorrect destination alpha value."); } } }
23. DefaultMonochromeBitmapConverter#convertToMonochrome()
Project: fop
File: DefaultMonochromeBitmapConverter.java
File: DefaultMonochromeBitmapConverter.java
/** {@inheritDoc} */ public RenderedImage convertToMonochrome(BufferedImage img) { BufferedImage buf = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_BYTE_BINARY); RenderingHints hints = new RenderingHints(null); //This hint doesn't seem to make a difference :-( hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), hints); op.filter(img, buf); return buf; }
24. ImageArtifactProcessor#stripAlpha()
Project: broadleaf_modify
File: ImageArtifactProcessor.java
File: ImageArtifactProcessor.java
protected BufferedImage stripAlpha(BufferedImage image) { BufferedImage raw_image = image; image = new BufferedImage(raw_image.getWidth(), raw_image.getHeight(), BufferedImage.TYPE_INT_RGB); ColorConvertOp xformOp = new ColorConvertOp(null); xformOp.filter(raw_image, image); return image; }
25. ImageArtifactProcessor#stripAlpha()
Project: BroadleafCommerce
File: ImageArtifactProcessor.java
File: ImageArtifactProcessor.java
protected BufferedImage stripAlpha(BufferedImage image) { BufferedImage raw_image = image; image = new BufferedImage(raw_image.getWidth(), raw_image.getHeight(), BufferedImage.TYPE_INT_RGB); ColorConvertOp xformOp = new ColorConvertOp(null); xformOp.filter(raw_image, image); return image; }
26. Any2sRGBRed#copyData()
Project: xml-graphics-commons
File: Any2sRGBRed.java
File: Any2sRGBRed.java
public WritableRaster copyData(WritableRaster wr) { // Get my source. CachableRed src = (CachableRed) getSources().get(0); ColorModel srcCM = src.getColorModel(); SampleModel srcSM = src.getSampleModel(); // Fast case, Linear SRGB source, INT Pack writable raster... if (srcIsLsRGB && is_INT_PACK_COMP(wr.getSampleModel())) { src.copyData(wr); if (srcCM.hasAlpha()) { GraphicsUtil.coerceData(wr, srcCM, false); } applyLut_INT(wr, linearToSRGBLut); return wr; } if (srcCM == null) { // We don't really know much about this source, let's // guess based on the number of bands... float[][] matrix = null; switch(srcSM.getNumBands()) { case 1: matrix = new float[3][1]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; break; case 2: matrix = new float[4][2]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[3][0] = 1; // Alpha matrix[3][1] = 1; break; case 3: matrix = new float[3][3]; // Red matrix[0][0] = 1; // Grn matrix[1][1] = 1; // Blu matrix[2][2] = 1; break; default: matrix = new float[4][srcSM.getNumBands()]; // Red matrix[0][0] = 1; // Grn matrix[1][1] = 1; // Blu matrix[2][2] = 1; // Alpha matrix[3][3] = 1; break; } Raster srcRas = src.getData(wr.getBounds()); BandCombineOp op = new BandCombineOp(matrix, null); op.filter(srcRas, wr); return wr; } if (srcCM.getColorSpace() == ColorSpace.getInstance(ColorSpace.CS_GRAY)) { // has sRGB gamma applied. try { float[][] matrix = null; switch(srcSM.getNumBands()) { case 1: matrix = new float[3][1]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; break; case 2: default: matrix = new float[4][2]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[3][0] = 1; // Alpha matrix[4][1] = 1; break; } Raster srcRas = src.getData(wr.getBounds()); BandCombineOp op = new BandCombineOp(matrix, null); op.filter(srcRas, wr); } catch (Throwable t) { t.printStackTrace(); } return wr; } ColorModel dstCM = getColorModel(); if (srcCM.getColorSpace() == dstCM.getColorSpace()) { if (is_INT_PACK_COMP(srcSM)) { src.copyData(wr); } else { GraphicsUtil.copyData(src.getData(wr.getBounds()), wr); } return wr; } Raster srcRas = src.getData(wr.getBounds()); assert srcRas instanceof WritableRaster; WritableRaster srcWr = (WritableRaster) srcRas; // Divide out alpha if we have it. We need to do this since // the color convert may not be a linear operation which may // lead to out of range values. ColorModel srcBICM = srcCM; if (srcCM.hasAlpha()) { srcBICM = GraphicsUtil.coerceData(srcWr, srcCM, false); } BufferedImage srcBI; BufferedImage dstBI; srcBI = new BufferedImage(srcBICM, srcWr.createWritableTranslatedChild(0, 0), false, null); // System.out.println("src: " + srcBI.getWidth() + "x" + // srcBI.getHeight()); ColorConvertOp op = new ColorConvertOp(dstCM.getColorSpace(), null); dstBI = op.filter(srcBI, null); // System.out.println("After filter:"); WritableRaster wr00 = wr.createWritableTranslatedChild(0, 0); for (int i = 0; i < dstCM.getColorSpace().getNumComponents(); i++) { copyBand(dstBI.getRaster(), i, wr00, i); } if (dstCM.hasAlpha()) { copyBand(srcWr, srcSM.getNumBands() - 1, wr, getSampleModel().getNumBands() - 1); } return wr; }
27. ColorTools#convertBetweenColorSpacesX2()
Project: sanselan
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertBetweenColorSpacesX2(BufferedImage bi, ColorSpace from, ColorSpace to) { RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); // bi = relabelColorSpace(bi, cs); // dumpColorSpace("\tcs_sRGB", cs_sRGB); // dumpColorSpace("\tColorModel.getRGBdefaultc", // ColorModel.getRGBdefault().getColorSpace()); bi = relabelColorSpace(bi, from); ColorConvertOp op = new ColorConvertOp(from, to, hints); bi = op.filter(bi, null); bi = relabelColorSpace(bi, from); bi = op.filter(bi, null); bi = relabelColorSpace(bi, to); return bi; }
28. AlphaTest#main()
Project: openjdk
File: AlphaTest.java
File: AlphaTest.java
public static void main(String[] args) { ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp op = new ColorConvertOp(cs, null); // create source image filled with an opaque color BufferedImage src = createSrc(); int srcAlpha = getAlpha(src); System.out.printf("Src alpha: 0x%02x\n", srcAlpha); // create clear (transparent black) destination image BufferedImage dst = createDst(); int dstAlpha = getAlpha(dst); System.out.printf("Dst alpha: 0x%02x\n", dstAlpha); dst = op.filter(src, dst); dstAlpha = getAlpha(dst); // we expect that destination image is opaque // i.e. alpha is transferred from source to // the destination System.out.printf("Result alpha: 0x%02x\n", dstAlpha); if (srcAlpha != dstAlpha) { throw new RuntimeException("Test failed!"); } System.out.println("Test passed"); }
29. Tamura#extract()
Project: LIRE
File: Tamura.java
File: Tamura.java
@Override public void extract(BufferedImage image) { histogram = new double[18]; double[] directionality; ColorConvertOp op = new ColorConvertOp(image.getColorModel().getColorSpace(), ColorSpace.getInstance(ColorSpace.CS_GRAY), new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY)); BufferedImage bimg = op.filter(image, null); bimg = ImageUtils.scaleImage(bimg, MAX_IMG_HEIGHT); Raster raster = bimg.getRaster(); int[] tmp = new int[3]; this.grayScales = new int[raster.getWidth()][raster.getHeight()]; for (int i = 0; i < raster.getWidth(); i++) { for (int j = 0; j < raster.getHeight(); j++) { raster.getPixel(i, j, tmp); this.grayScales[i][j] = tmp[0]; } } imgWidth = bimg.getWidth(); imgHeight = bimg.getHeight(); histogram[0] = this.coarseness(bimg.getWidth(), bimg.getHeight()); histogram[1] = this.contrast(); directionality = this.directionality(); for (int i = 2; i < histogram.length; i++) { histogram[i] = directionality[i - 2]; } }
30. ColorTools#convertBetweenColorSpacesX2()
Project: commons-imaging
File: ColorTools.java
File: ColorTools.java
public BufferedImage convertBetweenColorSpacesX2(BufferedImage bi, final ColorSpace from, final ColorSpace to) { final RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); hints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); // bi = relabelColorSpace(bi, cs); // dumpColorSpace("\tcs_sRGB", cs_sRGB); // dumpColorSpace("\tColorModel.getRGBdefaultc", // ColorModel.getRGBdefault().getColorSpace()); bi = relabelColorSpace(bi, from); final ColorConvertOp op = new ColorConvertOp(from, to, hints); bi = op.filter(bi, null); bi = relabelColorSpace(bi, from); bi = op.filter(bi, null); bi = relabelColorSpace(bi, to); return bi; }
31. GrayScaleOperation#apply()
Project: cocoon
File: GrayScaleOperation.java
File: GrayScaleOperation.java
public WritableRaster apply(WritableRaster image) { if (!enabled) { return image; } ColorSpace grayspace = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp op = new ColorConvertOp(grayspace, null); WritableRaster r = op.filter(image, null); return r; }
32. Any2sRGBRed#copyData()
Project: batik
File: Any2sRGBRed.java
File: Any2sRGBRed.java
public WritableRaster copyData(WritableRaster wr) { // Get my source. CachableRed src = (CachableRed) getSources().get(0); ColorModel srcCM = src.getColorModel(); SampleModel srcSM = src.getSampleModel(); // Fast case, Linear SRGB source, INT Pack writable raster... if (srcIsLsRGB && is_INT_PACK_COMP(wr.getSampleModel())) { src.copyData(wr); if (srcCM.hasAlpha()) GraphicsUtil.coerceData(wr, srcCM, false); applyLut_INT(wr, linearToSRGBLut); return wr; } if (srcCM == null) { // We don't really know much about this source, let's // guess based on the number of bands... float[][] matrix = null; switch(srcSM.getNumBands()) { case 1: matrix = new float[3][1]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; break; case 2: matrix = new float[4][2]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; // Alpha matrix[3][1] = 1; break; case 3: matrix = new float[3][3]; // Red matrix[0][0] = 1; // Grn matrix[1][1] = 1; // Blu matrix[2][2] = 1; break; default: matrix = new float[4][srcSM.getNumBands()]; // Red matrix[0][0] = 1; // Grn matrix[1][1] = 1; // Blu matrix[2][2] = 1; // Alpha matrix[3][3] = 1; break; } Raster srcRas = src.getData(wr.getBounds()); BandCombineOp op = new BandCombineOp(matrix, null); op.filter(srcRas, wr); return wr; } if (srcCM.getColorSpace() == ColorSpace.getInstance(ColorSpace.CS_GRAY)) { // has sRGB gamma applied. try { float[][] matrix = null; switch(srcSM.getNumBands()) { case 1: matrix = new float[3][1]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; break; case 2: default: matrix = new float[4][2]; // Red matrix[0][0] = 1; // Grn matrix[1][0] = 1; // Blu matrix[2][0] = 1; // Alpha matrix[3][1] = 1; break; } Raster srcRas = src.getData(wr.getBounds()); BandCombineOp op = new BandCombineOp(matrix, null); op.filter(srcRas, wr); } catch (Throwable t) { t.printStackTrace(); } return wr; } ColorModel dstCM = getColorModel(); if (srcCM.getColorSpace() == dstCM.getColorSpace()) { if (is_INT_PACK_COMP(srcSM)) src.copyData(wr); else GraphicsUtil.copyData(src.getData(wr.getBounds()), wr); return wr; } Raster srcRas = src.getData(wr.getBounds()); WritableRaster srcWr = (WritableRaster) srcRas; // Divide out alpha if we have it. We need to do this since // the color convert may not be a linear operation which may // lead to out of range values. ColorModel srcBICM = srcCM; if (srcCM.hasAlpha()) srcBICM = GraphicsUtil.coerceData(srcWr, srcCM, false); BufferedImage srcBI, dstBI; srcBI = new BufferedImage(srcBICM, srcWr.createWritableTranslatedChild(0, 0), false, null); // System.out.println("src: " + srcBI.getWidth() + "x" + // srcBI.getHeight()); ColorConvertOp op = new ColorConvertOp(dstCM.getColorSpace(), null); dstBI = op.filter(srcBI, null); // System.out.println("After filter:"); WritableRaster wr00 = wr.createWritableTranslatedChild(0, 0); for (int i = 0; i < dstCM.getColorSpace().getNumComponents(); i++) copyBand(dstBI.getRaster(), i, wr00, i); if (dstCM.hasAlpha()) copyBand(srcWr, srcSM.getNumBands() - 1, wr, getSampleModel().getNumBands() - 1); return wr; }