int numYTiles = image.getNumYTiles();
int numYTiles = image.getNumYTiles();
public void testGetTileIndices() { TiledImage image = createImage(); assertEquals(3, image.getNumXTiles()); assertEquals(4, image.getNumYTiles()); Point[] indices = FileTileCache.getTileIndices(image); assertNotNull(indices); Point[] expectedIndices = { new Point(0, 0), new Point(1, 0), new Point(2, 0), new Point(0, 1), new Point(1, 1), new Point(2, 1), new Point(0, 2), new Point(1, 2), new Point(2, 2), new Point(0, 3), new Point(1, 3), new Point(2, 3), }; assertEquals(expectedIndices.length, indices.length); for (int i = 0; i < expectedIndices.length; i++) { assertEquals("i=" + i, expectedIndices[i], indices[i]); } }
int numYTiles = image.getNumYTiles();
/** * Takes the 4-band ARGB image that we have been drawing into and * converts it to a single-band int image. */ private void flattenImageToInt() { int numXTiles = image.getNumXTiles(); int numYTiles = image.getNumYTiles(); SampleModel sm = RasterFactory.createPixelInterleavedSampleModel( DataBuffer.TYPE_INT, image.getWidth(), image.getHeight(), 1); TiledImage destImage = new TiledImage(0, 0, image.getWidth(), image.getHeight(), 0, 0, sm, new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), false, false, Transparency.OPAQUE, DataBuffer.TYPE_INT)); for (int yt = 0; yt < numYTiles; yt++) { for (int xt = 0; xt < numXTiles; xt++) { Raster srcTile = image.getTile(xt, yt); WritableRaster destTile = destImage.getWritableTile(xt, yt); int[] data = new int[srcTile.getDataBuffer().getSize()]; srcTile.getDataElements(srcTile.getMinX(), srcTile.getMinY(), srcTile.getWidth(), srcTile.getHeight(), data); Rectangle bounds = destTile.getBounds(); destTile.setPixels(bounds.x, bounds.y, bounds.width, bounds.height, data); destImage.releaseWritableTile(xt, yt); } } image = destImage; }