В теории вы можете сделать это таким образом. Java.awt.Toolkit сообщит вам размер пикселя и размеры пикселя экрана. Итак, чтобы нарисовать 1-дюймовый круг, вы должны использовать диаметр 1,0 * tk.getScreenResolution(), 2,5-дюймовый круг равен 2,5 * tk.getScreenResolution() и т. Д. Или вы можете использовать метод GraphicsConfiguration.getNormalizingTransform() который регулирует разрешение до «фиксированного» размера.
К сожалению, оба этих метода полагаются на базовую систему, зная (и сообщая вам) о фактическом разрешении экрана. На практике это очень редко происходит. Всевозможные вещи могут влиять на фактический размер пикселя. Фактический размер и размер монитора - один, а некоторые мониторы позволяют настроить размер изображения на экране.
В этой статье http://www.developer.com/java/other/print.php/626071 обсуждается это.
Принтеры, как правило, лучше сообщают вам о своем реальном разрешении. Если вы абсолютно должны иметь изображение, которое является правильным размером, отправьте его туда.
Благодарности к различным ответам, из которых я синтезировал этот.
oooh, я был всего в нескольких секундах позади, отправил то же самое ... +1 –
+1 Это делает его довольно простым. Я собирался опубликовать что-то о Toolkit.getDefaultToolkit(). GetScreenResolution(), который дает DPI экрана, но это по-прежнему требует некоторой математики после этого. –
Я думал по этим линиям, а также к муравьям, затем я столкнулся с этим - у java есть свои моменты – Oli