Não consigo gerar uma imagem coloria com BufferedImage

0 respostas
P

Gente, é o seguinte, eu tenho um servlet que gera uma imagem em tempo real e manda para uma página. Ok!

A imagem é gerada, porém, eu não consigo colocar cor nas modificações que faço.

Funciona assim, eu tenho uma imagem de fundo. Essa é imutável. Eu carrego a imagem e nela eu desenho uma escala, um ponteiro e os valores.

Só que essa escala e o ponteiro só aparecem branco. Eu não estou conseguindo mudar a cor para a que preciso.

Meu código é assim:

BufferedImage image = new BufferedImage(100,100, BufferedImage.TYPE_INT_RGB);
            ByteArrayOutputStream jpegStream = new ByteArrayOutputStream();


//mando para tela:
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(jpegStream);
           
            encoder.encode(image);
            //Transferenciz de dados
            byte[] jpegBytes = jpegStream.toByteArray();
           
            response.setHeader("Cache-Control", "no-store");
            response.setHeader("Pragma", "no-cache");
            response.setDateHeader("Expires", 0);
            response.setContentType("image/jpeg");
           
            out.write(jpegBytes);
            out.flush();
            out.close()

Bom, o código que desenha o que preciso desenhava num applet e funcionava perfeitamente. Quando eu mandei para JPEG, até que está desenhando, mas onde eu pinto e seto a cor com setColor() ou setPaint(), simplesmente não está funcionado. Desenha sempre em branco.

O que eu preciso saber é que eu tenho que fazer para setar a cor numa BufferedImage?

o trecho de código que uso é esse:

image.getGraphics().setPaint(Color.BLACK); // tentei usar tb o setColor()
image.getGraphics().drawString("blablabalblabla", x,y);

Porque que isso não funciona? Por que só pinta de branco a coisa da string desenhada e das retas?
Criado 26 de setembro de 2006
Respostas 0
Participantes 1