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