ができるゲットDPI値であるために、私はこれを使用しています:事前表示設定においてWindowsの設定で画面解像度を変更すると、Javaでディスプレイの正しいDPIを取得する方法は?
float dpi = Toolkit.getDefaultToolkit().getScreenResolution();
、I解像度値として1366×768を適用した場合、
dpi
値Iが設定における解像度値として800×600を変更した場合、しかし
(つまり、私が期待したものである)96
を返します。
dpi
値IがMACコンピュータで同じ場合を試みるとき96
が
(すなわち96
よりも低い値でなければならない)を返し、右の値が来ています。
Windows OSから来る解像度値に何か問題があると思います。私はWindows 7とWindows 10をテストしました。
編集:この値が必要な理由を理解するには、この質問とそのanswerを確認してください。
ため
96
を返しThatsなぜ?これは[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のようなものです。 –私のJavaアプリケーションは、すべてを画面の解像度(DPI)に合わせて拡大/縮小します。これには、アイコン、枠線、インセット、カスタムグラフィックス、フォントが含まれます。 – ziLk
あなたのグラフィックスAPIはあなたのためにそれを処理しませんか? –