2013-07-12 40 views
2

我有一個JPEG圖像的ByteArrayOutputStream表示(雖然我可以使用GIF或PNG,如果這會更好)。我想在窗體上顯示它,例如在標籤或圖像對象中。我受限於我無法將圖像寫入文件的事實,我只能將其存儲在內存中。如何僅通過ByteArrayOutputStream在JFrame中顯示圖像?

+0

使其通過'ImageIO' – MadProgrammer

+1

*」雖然我可以用GIF .. 「*他們是動畫還是靜態?不要將'ImageIO'用於動畫GIF。 –

+0

@AndrewThompson,他們是靜態的。感謝您的高舉。 – russell

回答

8

其中一個(簡單)possibilites的要解決的問題是創建一個ByteArrayInputStream,然後把它傳遞給ImageIO的:

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