return getArrangementImage(arrangement, palette, false);
BufferedImage out = new BufferedImage((gridLines ? 3 : 0) + (int) (32 * zoom), (gridLines ? 3 : 0) + (int) (32 * zoom), BufferedImage.TYPE_4BYTE_ABGR_PRE); Graphics g = out.getGraphics(); init(); for (int x = 0; x < 4; x++) { for (int y = 0; y < 4; y++) { int tile = (selection[x][y] == -1 ? this.arrangements[arrangement][x][y] : selection[x][y]); g.drawImage(getTileImage(tile & 0x01ff, palette, ((tile & 0x1C00) >> 10) - 2, (tile & 0x4000) != 0, (tile & 0x8000) != 0), (int) (x * 8 * zoom) + (gridLines ? x : 0), (int) (y * 8 * zoom) + (gridLines ? y : 0), (int) (8 * zoom), (int) (8 * zoom), null); if (selection[x][y] != -1) { g.setColor(new Color(255, 255, 0, 128)); g.fillRect((int) (x * 8 * zoom) + (gridLines ? x : 0), (int) (y * 8 * zoom) + (gridLines ? y : 0), (int) (8 * zoom), (int) (8 * zoom)); } } } return out;
        public Image getArrangementImage(int arrangement, int palette)        {            return getArrangementImage(arrangement, palette, false);        }