自定义JLabel图标
我想在我的GUI上使用java JLabel和自定义大小的Icon。像这样 :
我用这段代码来改变原始Icon的大小:
ImageIcon imageIcon = (ImageIcon) jLabel1.getIcon();// new ImageIcon( "Play-Hot-icon.png");
ImageIcon thumbnailIcon = new ImageIcon(getScaledImage(imageIcon.getImage(), 25 , 25));
jLabel1.setIcon(thumbnailIcon);
这是调整大小图像的代码
private Image getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = resizedImg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(srcImg, 0, 0, w, h, null);
g2.dispose();
return resizedImg;
}
但在调整图像大小并使用此代码后,结果就是这个! :
我怎样才能在JLabel上获得所需的图像?
问候,
萨贾德
没有找到相关结果
已邀请:
1 个回复
薄扩络拜
作为新图像,透明度仅使用
呈现为黑色。 为了保持透明度,您需要将其替换为
,因为您需要一个alpha组件。 但是,在
的图像上调用Image.getScaledInstance将返回一个已经带有alpha分量的缩放图像,你可以传递它的渲染提示来播放缩放图像的质量,与你的
函数基本相同,但是少了麻烦。