@Test public void testBitmask() { assertTrue("Assertions should be enabled.", ImageWorker.class.desiredAssertionStatus()); ImageWorker worker = new ImageWorker(sstImage); worker.forceBitmaskIndexColorModel(); assertEquals(1, worker.getNumBands()); assertEquals(-1, worker.getTransparentPixel()); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertTrue(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertFalse(worker.isColorSpaceGRAYScale()); assertFalse(worker.isTranslucent()); final BufferedImage directRGB = getSyntheticRGB(true); worker = new ImageWorker(directRGB); worker.forceBitmaskIndexColorModel(); assertEquals(1, worker.getNumBands()); assertEquals(-1, worker.getTransparentPixel()); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertTrue(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertFalse(worker.isColorSpaceGRAYScale()); assertFalse(worker.isTranslucent()); final BufferedImage componentRGB = getSyntheticRGB(false); worker = new ImageWorker(componentRGB); worker.forceBitmaskIndexColorModel(); assertEquals(1, worker.getNumBands()); assertEquals(-1, worker.getTransparentPixel()); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertTrue(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertFalse(worker.isColorSpaceGRAYScale()); assertFalse(worker.isTranslucent()); final BufferedImage translucentIndexed = getSyntheticTranslucentIndexed(); worker = new ImageWorker(translucentIndexed); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertTrue(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertTrue(worker.isTranslucent()); worker.forceIndexColorModelForGIF(true); assertEquals(1, worker.getNumBands()); assertEquals(0, worker.getTransparentPixel()); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertTrue(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertFalse(worker.isTranslucent()); }
@Test public void testYCbCr() { assertTrue("Assertions should be enabled.", ImageWorker.class.desiredAssertionStatus()); // check the presence of the PYCC.pf file that contains the profile for the YCbCr color space if (ImageWorker.CS_PYCC == null) { System.out.println( "testYCbCr disabled since we are unable to locate the YCbCr color profile"); return; } // RGB component color model ImageWorker worker = new ImageWorker(getSyntheticRGB(false)); RenderedImage image = worker.getRenderedImage(); assertTrue(image.getColorModel() instanceof ComponentColorModel); assertTrue(!image.getColorModel().hasAlpha()); int sample = image.getTile(0, 0).getSample(0, 0, 2); assertEquals(0, sample); assertFalse(worker.isColorSpaceYCbCr()); worker.forceColorSpaceYCbCr(); assertTrue(worker.isColorSpaceYCbCr()); worker.forceColorSpaceRGB(); assertFalse(worker.isColorSpaceYCbCr()); assertTrue(worker.isColorSpaceRGB()); // RGB Palette worker.forceBitmaskIndexColorModel(); image = worker.getRenderedImage(); assertTrue(image.getColorModel() instanceof IndexColorModel); assertTrue(!image.getColorModel().hasAlpha()); assertFalse(worker.isColorSpaceYCbCr()); worker.forceColorSpaceYCbCr(); assertTrue(worker.isColorSpaceYCbCr()); worker.forceColorSpaceRGB(); assertFalse(worker.isColorSpaceYCbCr()); assertTrue(worker.isColorSpaceRGB()); // RGB DirectColorModel worker = new ImageWorker(getSyntheticRGB(true)); image = worker.getRenderedImage(); assertTrue(image.getColorModel() instanceof DirectColorModel); assertTrue(!image.getColorModel().hasAlpha()); sample = image.getTile(0, 0).getSample(0, 0, 2); assertEquals(0, sample); assertFalse(worker.isColorSpaceYCbCr()); worker.forceColorSpaceYCbCr(); assertTrue(worker.isColorSpaceYCbCr()); worker.forceColorSpaceRGB(); assertFalse(worker.isColorSpaceYCbCr()); assertTrue(worker.isColorSpaceRGB()); }