如何在java swing中制作高质量的图像图标?

时间:2013-10-17 13:11:48

标签: java swing jlabel image-resizing imageicon

我正在使用java 应用程序项目。我想在我的JPanel中将图像制作为图标,但在使用外部打印机打印图像时,它似乎是低质量图像。这是代码

    ImageIcon ii=new ImageIcon(scaleImage(90, 107, ImageIO.read(new File(f.getAbsolutePath()))));
    image.setIcon(ii);

如何制作除此方法之外的高质量图像图标?

2 个答案:

答案 0 :(得分:0)

如果对Icon使用缩小版图像,则在打印图标时无法补偿分辨率损失。

您可以创建自己的图标类(通过实现ImageIcon界面,实际上非常简单),而不是使用javax.swing.Icon,这可以使您的图像保持更高的分辨率,并将其绘制为更小的图像尺寸(但没有质量损失,因此您在打印时仍可以看到更多细节)。 这可以通过在绘制图像之前应用AffineTransform /缩放,或使用graphics.drawImage(x,y,width,height,imageObserver)来完成。

答案 1 :(得分:0)

按照它可以帮助您的链接https://code.google.com/p/java-image-scaling/