Inches = Pixels / dpi
PDF Clown が float で測定値を使用していることに気付きました: インチとピクセルを float に変換して、幅、高さなどを PDF で適切に機能させるにはどうすればよいですか? 誰もこれの数式を持っていますか?
1) Inches --> float
2) Pixels --> float
PDF の座標系は、デバイス非依存の概念に基づいています。これは、グラフィック オブジェクトがレンダリングされるデバイスに関係なく、グラフィック オブジェクトとそのページの間の幾何学的関係を維持する機能です。このようなデバイスに依存しない座標系は、ユーザー空間と呼ばれます。デフォルトでは、その単位の長さは (おおよそ) タイポグラフィ ポイント (1/72 インチ)に対応し、いわゆるデフォルト ユーザー スペースを定義します。
しかし、mkl が適切に警告したように、ユーザー空間とデバイス空間の間の関係は、現在の変換行列(CTM)によって変更できます。これは実際には、ユーザー空間単位の長さがタイポグラフィ ポイントと一致するのは、傾斜またはスケーリングが適用されるまでのみであることを意味します! さらに、PDF 1.6 のデフォルトのユーザー スペース ユニットは、ページ ディクショナリの UserUnit エントリを設定することで上書きされる場合があります。
したがって、簡単に言えば、PDF では、1 インチは 72 のデフォルトのユーザー空間単位に対応します (CTM 干渉は認められません)。一方、この座標系は (定義により) デバイスに依存しないため、ピクセルについて推論するのは意味がありません。ピクセルはサンプルの離散空間にのみ存在しますが、PDF はベクトル グラフィックスの連続空間を定義します。デバイスの解像度にとらわれません! 次の図を参照してください。
ネイティブにピクセルで表現されているグラフィックを PDF にマップする必要がある場合は、事前にインチに変換するのが賢明な方法です。
ところで、ユーザー空間の測定値を表すために浮動小数点データ型が選択されたのは、そのような連続体をマッピングするのに明らかに最も便利な近似であったためです。この説明の後、測定値と測定値を混同することはなくなると思います.
PDF の座標系に関する詳細な説明は、現在の仕様の § 4.2 にあります。