2013-07-12 1 views
2

J'ai une représentation ByteArrayOutputStream d'une image JPEG (bien que je pourrais utiliser GIF ou PNG si cela fonctionnerait mieux). Je voudrais l'afficher sur le formulaire, comme dans une étiquette ou un objet image. Je suis contraint par le fait que je ne peux pas écrire l'image dans un fichier, je ne peux que la stocker en mémoire.Comment afficher une image dans JFrame uniquement à partir d'un ByteArrayOutputStream?

+0

Faites passer par 'ImageIO' – MadProgrammer

+1

* » .. bien que je pourrais utiliser GIF .. "* Sont-ils animés ou statiques? N'utilisez pas 'ImageIO' pour les GIF animés. –

+0

@AndrewThompson, ils sont statiques. Merci pour l'information. – russell

Répondre

8

L'un des plus faciles() Sports pour résoudre le problème est de créer un ByteArrayInputStream puis passer à ImageIO:

ByteArrayOutputStream output = new ByteArrayOutputStream(); 
// save the image to the output stream 
ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); 
BufferedImage image = ImageIO.read(input); 
Questions connexes