如何让java使用毫米而不是像素?

时间:2013-08-09 09:31:54

标签: java printing size lwjgl image-resizing

我的问题是我根据毫米到像素调整图片的大小,然后将其打印出来,这绝不是准确的。 我的问题是有一种方法可以用毫米或任何其他公制单位代替像素来进行java绘制,因为pixils永远不会精确到毫米。

3 个答案:

答案 0 :(得分:4)

使用DPI获取屏幕java.awt.Toolkit.getDefaultToolkit().getScreenResolution(); 然后只需执行(MM * DPI)/25.4。结果将是相对于MM中物理长度的像素数量。

答案 1 :(得分:0)

如果您知道分辨率 - px / cm,我猜你可以用厘米计算。但是,打印机和显示器根据硬件本身具有不同的分辨率。例如,在Photoshop中,您可以定义所需的每英寸像素数。打印机是否可以实际打印定义的密度取决于打印机本身。

作为一个极端的例子,想想一台46英寸的电视和你的智能手机。两者都声称1080高清图像,但显然英寸的大小是完全不同的。

答案 2 :(得分:0)

进行一些分析,您可以更好地理解:

pixels = mm * inch/mm * pixels/inch
pixels = mm (milimeters) * 25.4 (how many inches I have in 1 mm) * DPI (screen resolution)

DPI是每英寸点数,等于每英寸像素数。