我有一堆需要16x16版本的48x48图像,而不是存储16x16版本,我想即时调整它们的大小。我当前的代码如下所示(model.icon()返回48x48图像):
Icon icon = model.icon();
Image image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
return new ImageIcon(image.getScaledInstance(16, 16, Image.SCALE_AREA_AVERAGING));
不幸的是,运行此代码时,我得到的是16x16黑色正方形而不是图像。
最佳答案
尝试这个。
ImageIcon icon = model.icon();
Image image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
image.getGraphics().drawImage(icon.getImage(), 0, 0, 16, 16, null);
return new ImageIcon(image);
关于java - 如何使用Java调整图像大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4016805/