我遇到了一个问题.我的图像太大,所以它扩大了相应的JMenuItem.我不想开发自行车
ImageIcon image = new ImageIcon(new ImageIcon("/home/template/img.jpg")
.getImage().getScaledInstance(32, 32, Image.SCALE_DEFAULT));
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以实现吗?
Mic*_*rry 12
如果你不想在代码中缩放图像(我猜你在问题中的意思是什么?)为什么不只是让源图像的大小开始?最简单的解决方案有时是最好的!
此外,getScaledInstance()通常是个坏主意.这解释了为什么并为调整图像大小提供了更好的选择.如果您在其他地方使用该图像,则值得阅读该文章并使用更好的技术(例如graphics.drawImage())进行缩放,但如果您只是在菜单中使用它,则可能需要调整源图像的大小最好的事情.
如果要调整大小:
BufferedImage image = ImageIO.read("img.jpg");
BufferedImage ret = new BufferedImage(32,32,BufferedImage.TYPE_RGB);
ret.getGraphics().drawImage(image,0,0,32,32,null);
Run Code Online (Sandbox Code Playgroud)
这样的东西应该给你图像,然后你可以使用创建你的ImageIcon ret.
| 归档时间: |
|
| 查看次数: |
8186 次 |
| 最近记录: |