8-битное изображение, отображающее черный цвет на весь экран



У меня есть изображение и массив с заполненными растровыми данными... Но изображение показывает только черный, пожалуйста, помогите....



IndexColorModel icm = new IndexColorModel(1,2,red,green,blue);
BufferedImage buf = new BufferedImage(width,height,BufferedImage.TYPE_BYTE_INDEXED,icm);
byte[] a = ((DataBufferByte) buf.getRaster().getDataBuffer()).getData();

//Logically filled up the whole image data here

//showing the image

JFrame jf = new JFrame("1-Bit BMP");
jf.setSize(width,height);
//jf.setResizable(false);
JLabel jl = new JLabel();
JScrollPane js = new JScrollPane(jl);
jl.setIcon(new ImageIcon(buf));
jf.add(js);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
458   1  

1 ответ:

Просто измените свой IndexColorModel Вот так....

IndexColorModel icm = new IndexColorModel(8,256,red,green,blue);

Для 1-битного... 1,2 для 2-битных... 2,4 для 4-битных... 4,16 для 8-битных... 8,256

Также IndexColorModel не требуется в 16 или более битах....

Comments

    Ничего не найдено.