正如标题所说,我该如何从imageIcon中删除背景?
让我们说..我已经JTree
(但它可以是每个JComponent
)我想为其叶子节点设置一个图标。
myDefaultTreeCellRendere.setLeafIcon(new ImageIcon(icon));
图标有白色背景,我想删除它。那可能吗?
我在Stackoverflow上阅读了一些答案,但是使用了BufferedImage
并且从网络中检索了图标并存储在URL对象中...我的图标是本地的,而不是。
答案 0 :(得分:-1)
您需要使用支持透明度的图像格式,例如GIF或PNG。您可以查找具有透明背景的新图标,也可以使用图像编辑器修改当前图像(Photoshop或Gimp会这样做)。
答案 1 :(得分:-2)
您可以做的是为ImageIcon对象提供与图像大小相同的大小。例如,如果您的图片的sioze为40x40,则执行
ImageIcon img = new ImageIcon("path_to_image");
img.setPreferredSize(new Dimension(40, 40));
myDefaultTreeCellRendere.setLeafIcon(img);
+1如果有效:D