2012-02-15 101 views
0

我试图拍摄一个JFrame的快照,然后导出图像。 DPI只有72dpi,我想知道如何提高分辨率。如何导出Java中的高分辨率图像

我跟着link设置图像的DPI,但它并没有真正导出更高质量的图像......它似乎只改变图像文件的元数据,而不是实际上增加了导出的质量。

如何将图像导出为实际更高分辨率,然后72 dpi?

回答

2

DPI元数据仅仅是“理想”打印分辨率/图像大小的指导。正如你所说,它与图像本身的实际“质量”无关。

快照应该捕获JFrame的实际完整分辨率(您是如何捕获快照的?)。这是可能的最大分辨率 - 这是Java生成的内容和显示器的显示内容。没有其他东西了!

如果图像质量不佳,请检查您没有将其保存为有损格式,如JPEG。

+0

嗨,我使用Robot.createScreenCapture()来获取整个框架...出口图像的质量并不差。我只是想增加分辨率,以便当我缩小到更大的尺寸时它应该仍然保持高质量... – 2012-02-16 14:12:02

+0

您无法将位图缩放超过100%并获得更高质量 - 这是位图的基本性质! – DNA 2012-02-16 15:24:07

+0

(好的,有一些方法可以用插值技术进行插值,使用分形技术,但这些方法不适用于清晰的计算机窗口图形) – DNA 2012-02-16 15:24:27