Java: BufferedImage, DirectColorModel to IndexColorModel

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

Java: BufferedImage, DirectColorModel to IndexColorModel

Сообщение BratSinot »

Доброго времени суток!

У меня есть IndexColorModel и BufferedImage. Как мне BufferedImage конвертировать из RGB в IndexColor?

Короче, пошел по самому простому и очевидному пути. Создал еще один BufferedImage с IndexColor и просто через getRGB и setRGB перекинул из одного в другое:

Код: Выделить всё

   BufferedImage data_in = ImageIO.read(new File("117477.jpg"));

   IndexColorModel cm = new IndexColorModel(8, 0x37, palette[0], palette[1], palette[2]);
   BufferedImage data_out = new BufferedImage(data_in.getWidth(), data_in.getHeight(), BufferedImage.TYPE_BYTE_INDEXED, cm);

   for(int x=0; x<data_in.getWidth(); x++)
    for(int y=0; y<data_in.getHeight(); y++)
     data_out.setRGB(x, y, data_in.getRGB(x, y));

   ImageIO.write(data_out, "png", new File("test.png"));
Спасибо сказали: