Refine search
private static BufferedImage rgbaToIndexedBufferedImage(final BufferedImage sourceBufferedImage) { final BufferedImage indexedImage = new BufferedImage( sourceBufferedImage.getWidth(), sourceBufferedImage.getHeight(), BufferedImage.TYPE_BYTE_INDEXED); final ColorModel cm = indexedImage.getColorModel(); final IndexColorModel icm = (IndexColorModel) cm; final int size = icm.getMapSize(); final byte[] reds = new byte[size]; final byte[] greens = new byte[size]; final byte[] blues = new byte[size]; icm.getReds(reds); icm.getGreens(greens); icm.getBlues(blues); final WritableRaster raster = indexedImage.getRaster(); final int pixel = raster.getSample(0, 0, 0); final IndexColorModel resultIcm = new IndexColorModel(8, size, reds, greens, blues, pixel); final BufferedImage resultIndexedImage = new BufferedImage(resultIcm, raster, sourceBufferedImage.isAlphaPremultiplied(), null); resultIndexedImage.getGraphics().drawImage(sourceBufferedImage, 0, 0, null); return resultIndexedImage; }
/** * Extract the palette from an {@link IndexColorModel}. * * @param indexColorModel * @return */ public static byte[][] extractPalette(IndexColorModel indexColorModel) { Utilities.ensureNonNull("indexColorModel", indexColorModel); byte[][] palette = new byte[3][indexColorModel.getMapSize()]; int numBands = indexColorModel.getNumColorComponents(); indexColorModel.getReds(palette[0]); indexColorModel.getGreens(palette[0]); indexColorModel.getBlues(palette[0]); if (numBands == 4) { indexColorModel.getAlphas(palette[0]); } return palette; }
byte[] blues = new byte[mapSize]; byte[] alphas = new byte[mapSize]; reference.getReds(reference_reds); reference.getGreens(reference_greens); reference.getBlues(reference_blues); reference.getAlphas(reference_alphas); boolean uniformPalettes = true; sourceColorModel.getReds(reds); sourceColorModel.getGreens(greens); sourceColorModel.getBlues(blues); sourceColorModel.getAlphas(alphas); if (!Arrays.equals(reds, reference_reds)
public static void debug(final IndexColorModel cmodel) { final byte[] r = new byte[256]; final byte[] g = new byte[256]; final byte[] b = new byte[256]; cmodel.getReds(r); cmodel.getGreens(g); cmodel.getBlues(b); for (int i = 0; i < 256; i++) { System.out.println((r[i] & 0xff) + "\t" + (g[i] & 0xff) + "\t" + (b[i] & 0xff)); } } }
/** Converts an IndexColorModel to a 2D byte array. */ public static byte[][] get8BitLookupTable(final ColorModel model) { if (!(model instanceof IndexColorModel)) return null; final IndexColorModel m = (IndexColorModel) model; final byte[][] lut = new byte[3][m.getMapSize()]; m.getReds(lut[0]); m.getGreens(lut[1]); m.getBlues(lut[2]); return lut; }
/** Converts an IndexColorModel to a 2D byte array. */ public static byte[][] get8BitLookupTable(ColorModel model) { if (!(model instanceof IndexColorModel)) return null; IndexColorModel m = (IndexColorModel) model; byte[][] lut = new byte[3][m.getMapSize()]; m.getReds(lut[0]); m.getGreens(lut[1]); m.getBlues(lut[2]); return lut; }
/** Converts an IndexColorModel to a 2D byte array. */ public static byte[][] get8BitLookupTable(ColorModel model) { if (!(model instanceof IndexColorModel)) return null; IndexColorModel m = (IndexColorModel) model; byte[][] lut = new byte[3][m.getMapSize()]; m.getReds(lut[0]); m.getGreens(lut[1]); m.getBlues(lut[2]); return lut; }
/** Converts an IndexColorModel to a 2D byte array. */ public static byte[][] get8BitLookupTable(final ColorModel model) { if (!(model instanceof IndexColorModel)) return null; final IndexColorModel m = (IndexColorModel) model; final byte[][] lut = new byte[3][m.getMapSize()]; m.getReds(lut[0]); m.getGreens(lut[1]); m.getBlues(lut[2]); return lut; }