Pregunta

How can I convert a BufferedImage to an ImageIcon?

I can not find any documentation on this.

¿Fue útil?

Solución

Use constructor: ImageIcon(Image image), BufferedImage extends Image.

Otros consejos

BufferedImage extends Image, so it's simply:

new ImageIcon(myBufferedImage);
File img = new File("C:\\..\\image.jpg");
BufferedImage bufferedImage = ImageIO.read(img);
ImageIcon imageIcon = new ImageIcon(bufferedImage);
your bufferimage;
JLabel photo = new JLabel("Photo");
photo.setIcon(new ImageIcon(bufferimage));

here is a simple converter:

//Your icon
private ImageIcon icon;
//Your image
private BufferedImage image; 

 public void bufferImageTocon(){
     File file = new File("test.jpg");
     try {
         this.image = ImageIO.read(file);
     } catch (IOException ex) {
         ex.printStackTrace();
     } 

     icon = new ImageIcon(image); 
 }

Use just the constructor to make a new icon, setting the buffered image as a parameter.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top