Если у вас есть массив целых чисел, которые упакованы значения RGB, это Java-код, чтобы сохранить его в файл:
int width = 100;
int height = 100;
int[] rgbs = buildRaster(width, height);
DataBuffer rgbData = new DataBufferInt(rgbs, rgbs.length);
WritableRaster raster = Raster.createPackedRaster(rgbData, width, height, width,
new int[]{0xff0000, 0xff00, 0xff},
null);
ColorModel colorModel = new DirectColorModel(24, 0xff0000, 0xff00, 0xff);
BufferedImage img = new BufferedImage(colorModel, raster, false, null);
String fname = "/tmp/whatI.png";
ImageIO.write(img, "png", new File(fname));
System.out.println("wrote to "+fname);
Причиной массивов 0xff0000, 0xff00, 0xff
является то, что байты RGB упакованы синий в младшем значении байта. Если вы упаковываете свои ints разными, измените этот массив.
Пожалуйста, прекратите публикацию того же вопроса. –
Возможный дубликат [чтение пикселя из png] (http://stackoverflow.com/questions/21029158/reading-pixel-from-png) –
не дублированный вопрос –