[英]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.