[英]How to convert ImageIcon to Image?
我從我的項目src文件中抓取了imageicon,如下所示:
icon = new ImageIcon(ViewDetailsV.class.getResource("/brandnew/images/male_avatar.jpg"));
然后,我想放入此行,以便將其大小調整為標簽的大小:
lblPhotoField.setIcon(new ImageIcon(ScaledImage(icon, lblPhotoField.getWidth(), lblPhotoField.getHeight()));
但是我需要“圖標”作為圖像,而不是圖像圖像,因為ScaledImage采用Image參數而不是ImageIcon。
private Image ScaledImage(Image img, int w, int h){
BufferedImage resizedImage = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = resizedImage.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(img, 0,0,w,h,null);
g2.dispose();
return resizedImage;
}
是的,我確實嘗試過將返回值更改為ImageIcon,但這給了我錯誤。 因此,我現在專注於如何將ImageIcon轉換為Image,以便可以將其放在方法行中,獲取圖標並像這樣設置標簽:
lblPhotoField.setIcon(icon);
使用ImageIcon#getImage
方法...
ScaledImage(icon.getImage(), lblPhotoField.getWidth(), lblPhotoField.getHeight())
除非你設置lblPhotoField
的大小你自己(其自身令人擔憂)或它已經布局,我不會依賴於getWidth()
和getHeight()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.