簡體   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