Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > BufferedImage...


Автор: Гость_Сергей 30.5.2005, 11:12
Привет, всем!!!
Я создаю BufferedImage со своей Color Model :
Код


BufferedImage bufer = new BufferedImage(Macros.WIDTH,Macros.HEIGHT, BufferedImage.TYPE_BYTE_BINARY, (IndexColorModel) generateColorModel());

   private static ColorModel generateColorModel() {
A>            // Generate 16-color model
A>            byte[] r = new byte[16];
A>            byte[] g = new byte[16];
A>            byte[] b = new byte[16];
    
A>            r[0] = 0; g[0] = 0; b[0] = 0;
A>            r[1] = 0; g[1] = 0; b[1] = (byte)192;
A>            r[2] = 0; g[2] = 0; b[2] = (byte)255;
A>            r[3] = 0; g[3] = (byte)192; b[3] = 0;
A>            r[4] = 0; g[4] = (byte)255; b[4] = 0;
A>            r[5] = 0; g[5] = (byte)192; b[5] = (byte)192;
A>            r[6] = 0; g[6] = (byte)255; b[6] = (byte)255;
A>            r[7] = (byte)192; g[7] = 0; b[7] = 0;
A>            r[8] = (byte)255; g[8] = 0; b[8] = 0;
A>            r[9] = (byte)192; g[9] = 0; b[9] = (byte)192;
A>            r[10] = (byte)255; g[10] = 0; b[10] = (byte)255;
A>            r[11] = (byte)192; g[11] = (byte)192; b[11] = 0;
A>            r[12] = (byte)255; g[12] = (byte)255; b[12] = 0;
A>            r[13] = (byte)80; g[13] = (byte)80; b[13] = (byte)80;
A>            r[14] = (byte)192; g[14] = (byte)192; b[14] = (byte)192;
A>            r[15] = (byte)255; g[15] = (byte)255; b[15] = (byte)255;
    
A>            return new IndexColorModel(4, 16, r, g, b);
A>        }
A>    }
A>


этого читаю картинку в этот буфер
Код


bufer = ImageIO.read(file);


я так думаю, что этим самым перетираю
Color Model, кто знает как записать в буфер картинку что бы не перетереть Color Model.
????
Спасибо!!!!

Автор: polosatij 30.5.2005, 15:33
попробуй так,

сделай дупликат:

Код

BufferedImage buf = new BufferedImage(...);
buf = ImageIO.read(file);



и потом врисуй рисунок (buf) методом:

getGraphics() в твой "bufer"..

смотри сюда:

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/BufferedImage.html#getGraphics()

примерно вот так вот:

Код

Graphics g = bufer.getGraphics();
g.drawImage(buf); //здесь я не уверен, возможно нужно кастовать или преобразовывать в Image

smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)