質問: Java2D APIのドキュメントでは、デフォルトの変換はユーザースペースの72単位が1インチになるようになっているとあります。しかし96dpiの環境では96単位が1インチになっているように思えます。 しかしpaint()で渡されるGraphics2Dコンテキストにある、あるいはGraphicsConfigration.getDefaultTransform()で取得できる初期状態の変換オブジェクトのマトリックスをみても(1 0 0, 0 1 0)と恒等変換になっており、72単位から96単位への変換の情報は入っていないようです。むしろgetNormalizingTransformを連結して始めて72単位で処理されるようです。 これは変換オブジェクトに属する情報自体は、解像度とは関係なく、Java2Dがレンダリング時にデバイスの解像度を基準に変換用の情報を再計算しているということでしょうか? 初心者なので要領を得ない質問かも知れませんが、ご存知の方いらっしゃいましたら教えて頂けたらありがたいです。宜しくお願い致します。
回答: デフォルトは、その特定のデバイスの特定のコンフィギュレーションだから、96なら96でしょう。そしてgetNormalizingTransform()が72へのトランスフォームを返すのでしょう。ドキュメンテーションには、そう書いてあるようですが。