Olá,
Como faço para converter uma imagem do tipo BufferedImage para o tipo Icon?
BufferedImage fundo = ImageIO.read(new File("caminho do arquivo"));
ImageIcon icon = new ImageIcon(fundo.getScaledInstance(fundo.getWidth(), fundo.getHeight(), 10000));
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));
}
ok, ja resolvi o problema com o seguinte codigo:
[code] 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;
}[/code]
Obrigada
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