簡體   English   中英

如何將ImageIcon轉換為圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM