Conversao de BufferedImage para Icon

4 respostas
Evy

Olá,
Como faço para converter uma imagem do tipo BufferedImage para o tipo Icon?

4 Respostas

L
BufferedImage fundo = ImageIO.read(new File("caminho do arquivo"));
ImageIcon icon = new ImageIcon(fundo.getScaledInstance(fundo.getWidth(), fundo.getHeight(), 10000));
Evy

Entao…
ImageIcon nao eh compativel com icon, eh?
Eu precisava pegar a imagem que esta em um ImagePanel e transforma-la em Icon para eu usar a seguinte função que manipula o brilho da imagem:

public static Icon brighten(Icon icon) { Image img = getImage(icon); if(img == null) return icon; img = brighten(img); return new IconUIResource(new ImageIcon(img)); }

Evy
ok, ja resolvi o problema com o seguinte codigo:
public BufferedImage createBufferedImage(Image image)
        {
          BufferedImage bi = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
          Graphics2D g = bi.createGraphics();
          g.drawImage(image, 0, 0, null);

          return bi;
        }
Obrigada
T

deve ser tarde agora mas se aparecer alguém procurando a solução, experimente usar

//buffer é uma variável do tipo BufferedImage

ImageIcon icone = new ImageIcon(buffer);

até mais

Criado 18 de fevereiro de 2008
Ultima resposta 15 de out. de 2008
Respostas 4
Participantes 3