【发布时间】:2014-03-01 08:52:16
【问题描述】:
我已经从我的项目 src 文件中抓取了 imageicon,如下所示:
icon = new ImageIcon(ViewDetailsV.class.getResource("/brandnew/images/male_avatar.jpg"));
然后我想放入这一行,以便调整到标签的大小:
lblPhotoField.setIcon(new ImageIcon(ScaledImage(icon, lblPhotoField.getWidth(), lblPhotoField.getHeight()));
但我需要“图标”为 image ,而不是 imageicon ,因为 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);
【问题讨论】:
标签: java image swing imageicon