私は網膜ディスプレイ(TYPE_INT_ARGB_PRE
BufferedImages
が描くことができません)でMacを苦しめるSwingイメージレンダリングのバグを見つけました。効果的な回避策がありますが(代わりにTYPE_INT_ARGB
の画像を使用します)、それを適用するには、ホストマシンがRetinaディスプレイを備えたMacであるかどうかを検出できる必要があります。マシンがMacであるかどうかを検出することは問題ありませんが、どのように表示タイプを決定できますか?MacでRetinaディスプレイがJavaから検出されたかどうかを検出するにはどうすればよいですか?
7
A
答えて
15
Toolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScaleFactor")
上の行は、網膜ディスプレイ上2.0
を返すべきです。より最近の非網膜マックでは1.0
を返し、その他のプラットフォームではnull
に戻ります。私は公式の文書を見つけることができませんが、同様の問題を解決しようとしている間に私はin this mailing list postを見つけました。
1
Iは使用this溶液が見つかりました:ユーザーではない網膜およびいずれか一方が複数のモニタを有することができるので、これは良い方法ではない
Graphics2D g = (Graphics2D) this.getGraphics();
boolean retinaTest = g.getFontRenderContext().getTransform()
.equals (AffineTransform.getScaleInstance (2.0, 2.0));
関連する問題
- 1. 子アクティビティから戻ったかどうかを検出するにはどうすればよいですか?
- 2. ユーザーがスペースバーに入ったかどうかを検出するにはどうすればよいですか?
- 3. 詐称された元のMACアドレスを検出するにはどうすればよいですか?
- 4. アプリケーションがドキュメントベースであるかどうかを検出するにはどうすればよいですか?
- 5. デバイスがアンドロイドウェアであるかどうかを検出するにはどうすればよいですか?
- 6. デバイスがルート(Android)かjailbroken(iOS)かどうかを検出するにはどうすればよいですか?
- 7. スクリプトマネージャーがページにあるかどうかを検出するにはどうすればよいですか?
- 8. タッチイベントがEditText内にあるかどうかを検出するにはどうすればよいですか?
- 9. ファイルがネットワーク上にあるかどうかを検出するにはどうすればよいですか?
- 10. Mac上でC#を使用してスペースバーが入力/押されたかどうかを検出するにはどうすればよいですか?
- 11. タイプがstd :: tupleかどうかを検出するにはどうすればよいですか?
- 12. プロセスが開始されてからexe名が変更されたかどうかを検出するにはどうすればいいですか?
- 13. .NETでリアルタイムピッチ検出を行うにはどうすればよいですか?
- 14. Mac用のdockerがインストールされているかどうかを検出するにはどうすればよいですか?
- 15. C++でランタイムエラーを検出するにはどうすればよいですか?
- 16. フリーズスイッチでボイスメールを検出するにはどうすればよいですか?
- 17. navigationController.viewでタッチを検出するにはどうすればよいですか?
- 18. ハイチャートでズームイベントを検出するにはどうすればよいですか?
- 19. Win32でリソースリークを検出するにはどうすればよいですか?
- 20. Jenkinsでパイプラインエラーを検出するにはどうすればよいですか?
- 21. Linuxでファイルアクセスを検出するにはどうすればよいですか?
- 22. カスタムビューでタッチアップを検出するにはどうすればよいですか?
- 23. jQueryでウィンドウサイズを検出するにはどうすればよいですか?
- 24. javascriptでラッピングを検出するにはどうすればよいですか?
- 25. AVPlayerでバッファリングを検出するにはどうすればよいですか?
- 26. Delphiでモノスペースフォントを検出するにはどうすればよいですか?
- 27. 画面がタッチされたかどうかを検出する
- 28. Mysqlデータベースからさらに検索結果を出力するにはどうすればよいですか?
- 29. ロックされたディスプレイの向きにもかかわらずデバイスの回転を検出するにはどうすればよいですか?
- 30. onclickハンドラでは、シフトが押されたかどうかをどのように検出できますか?
を。再描画するたびに、個々のウィンドウに対してこの状態を照会する必要があります。 –
これは、2013年後半のrMBPでnullを返します。特定の場所に使用する必要がありますか? – dmolony