[英]How to get ByteArray from JLabel icon?
我正在嘗試從JLabel
圖標獲取ByteArray
,然后將其存儲到我的數據庫中。
原因是因為當我在JLabel
打開圖像時,圖像的大小調整為300x300像素,因此我想將調整后的圖像保存到數據庫中,以保持數據庫的輕量化。
我想“即時”執行此操作,而不必將調整大小后的圖片保存在磁盤上。
我將磁盤上的文件轉換為ByteArray
並將這些ByteArrays
存儲在SQLite數據庫中沒有問題。
但是從JLabel
的圖標獲取ByteArray
對我來說是不可能完成的任務。
我不知道有沒有可能。
伙計們,請幫幫我。
有什么辦法嗎?
JLabel只是圖像的占位符,您仍在使用圖像對象。 簡單地將圖像轉換為字節數組會更容易嗎?
File f = new File("img.jpg");
BufferedImage image = ImageIO.read(fnew);
ByteArrayOutputStream b =new ByteArrayOutputStream();
ImageIO.write(image, "jpg", b );
byte[] imageInByte = b.toByteArray();
或者,如果您想從JLabel檢索圖像,則可以使用:
Icon icon = label.getIcon();
BufferedImage image = new BufferedImage(icon.getIconWidth(),
icon.getIconHeight(),BufferedImage.TYPE_INT_RGB);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.