我正在处理一个 java swing应用程序项目。我想在我的图标中制作一个图像,JPanel
但是当我使用外部打印机打印图像时,它似乎是低质量的图像。这是代码
ImageIcon ii=new ImageIcon(scaleImage(90, 107, ImageIO.read(new File(f.getAbsolutePath()))));
image.setIcon(ii);
除了这种方法,我怎样才能制作高质量的图像图标?
如果您将图像的缩小版本用于Icon
,则在打印图标时无法补偿分辨率损失。
除了使用 之外ImageIcon
,您还可以创建自己的图标类(通过实现javax.swing.Icon
接口,它实际上非常简单),它可以使您的图像保持更高的分辨率并以更小的尺寸绘制它(但没有质量损失,因此您仍然可以看到更多打印时详细说明)。这可以通过AffineTransform
在绘制图像之前应用 /Scale 或使用graphics.drawImage(x,y,width,height,imageObserver)
.
Follow the link it will help you, https://code.google.com/p/java-image-scaling/