/** Tests the {@link ImageWorker#tile()} methods. Some trivial tests are performed before. */ @Test public void testReTile() { assertTrue("Assertions should be enabled.", ImageWorker.class.desiredAssertionStatus()); ImageWorker worker = new ImageWorker(worldImage); assertSame(worldImage, worker.getRenderedImage()); assertEquals(4, worker.getNumBands()); assertEquals(-1, worker.getTransparentPixel()); assertTrue(worker.isBytes()); assertFalse(worker.isBinary()); assertFalse(worker.isIndexed()); assertTrue(worker.isColorSpaceRGB()); assertFalse(worker.isColorSpaceGRAYScale()); assertTrue(worker.isTranslucent()); assertSame("Expected no operation.", worldImage, worker.rescaleToBytes().getRenderedImage()); assertSame( "Expected no operation.", worldImage, worker.forceComponentColorModel().getRenderedImage()); assertSame( "Expected no operation.", worldImage, worker.forceColorSpaceRGB().getRenderedImage()); assertSame("Expected no operation.", worldImage, worker.retainBands(4).getRenderedImage()); // Following will change image, so we need to test after the above assertions. worker.setRenderingHint( JAI.KEY_IMAGE_LAYOUT, new ImageLayout() .setTileGridXOffset(0) .setTileGridYOffset(0) .setTileHeight(64) .setTileWidth(64)); worker.tile(); assertSame("Expected 64.", 64, worker.getRenderedImage().getTileWidth()); assertSame("Expected 64.", 64, worker.getRenderedImage().getTileHeight()); }
/** Tests the conversion between RGB and indexed color model. */ @Test public void testRGB2Palette() { assertTrue("Assertions should be enabled.", ImageWorker.class.desiredAssertionStatus()); final ImageWorker worker = new ImageWorker(worldImage); show(worker, "Input file"); worker.forceIndexColorModelForGIF(true); // Convert to to index color bitmask ColorModel cm = worker.getRenderedImage().getColorModel(); assertTrue("wrong color model", cm instanceof IndexColorModel); assertEquals("wrong transparency model", Transparency.BITMASK, cm.getTransparency()); assertEquals("wrong transparency index", 255, ((IndexColorModel) cm).getTransparentPixel()); show(worker, "Paletted bitmask"); // Go back to rgb. worker.forceComponentColorModel(); cm = worker.getRenderedImage().getColorModel(); assertTrue("wrong color model", cm instanceof ComponentColorModel); assertEquals("wrong bands number", 4, cm.getNumComponents()); show(worker, "RGB translucent"); assertEquals("wrong transparency model", Transparency.TRANSLUCENT, cm.getTransparency()); show(worker, "RGB translucent"); }