繁体   English   中英

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

[英]How to make java use millimeters instead of pixels?

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

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

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

举一个极端的例子,考虑一下46英寸电视和您的智能手机。 两者都要求提供1080个高清图像,但显然以英寸为单位的尺寸却大不相同。

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

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

DPI是每英寸点数,每英寸像素数相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM