0

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

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

除了这种方法,我怎样才能制作高质量的图像图标?

4

2 回答 2

0

如果您将图像的缩小版本用于Icon,则在打印图标时无法补偿分辨率损失。

除了使用 之外ImageIcon,您还可以创建自己的图标类(通过实现javax.swing.Icon接口,它实际上非常简单),它可以使您的图像保持更高的分辨率并以更小的尺寸绘制它(但没有质量损失,因此您仍然可以看到更多打印时详细说明)。这可以通过AffineTransform在绘制图像之前应用 /Scale 或使用graphics.drawImage(x,y,width,height,imageObserver).

于 2013-10-17T13:55:37.200 回答
0

Follow the link it will help you, https://code.google.com/p/java-image-scaling/

于 2014-02-04T06:43:34.413 回答