1

GDI+ を使用してテキスト コンテンツを描画するコードが .Net にいくつかあります。GraphicsUnit.Point を使用してテキストのサイズを変更しました。画面上で素晴らしく機能しており、印刷しても問題ありません。

PDF を生成するシステムの作成を依頼され、ComponentOne の PDF コントロールを入手しました。GDI+ と同様のインターフェイスを備えています。

問題は、フォント サイズが機能しないことです。GraphicsUnit.Point を使用すると、テキストがはるかに小さくなり、テキストの下に空白ができます。GraphicsUnit.World を使用すると、テキストはまだ小さいですが、テキストの下に余分な空白はありません。

GraphicsUnit.World を GraphicsUnit.Point に変換する方法を理解したいです。

すべての助けをいただければ幸いです。

ありがとう

4

2 に答える 2

2

いくつかのGoogelingの後、GDI +と文字列の描画に関する個人的な経験から私が知っていることから、それはDPI(Dots per Inch)に帰着します。基本的に、デバイスが異なれば(GDI +に関する限り、PDFはおそらくデバイスです)、DPI値は異なります。ディスプレイには通常70DPIのようなものがあります。プリンターは72を使用します。PDFが何を使用するかはわかりませんが、100になる可能性があります(これはデバイスに依存しない一般的な値であり、小さいテキストを説明するためです)。

現在、ポイントは72DPIとして定義されています。これは常に真実です。異なるDPIでPDFに描画する場合、GDI +が行うべきことは、それに応じて文字列描画を変換することです。ただし、これは、特にテキストの場合、常に機能するとは限りません。

GraphicsUnit.Worldは、(一部のグーゲルによると)デバイスに依存せず、すべてのデバイスで同じように見える必要があります。

于 2008-11-07T21:23:13.613 に答える
0

そうです、GraphicsUnit.Worldは、印刷でも画面でも同じように見えます。私の最終的な解決策は、GraphicsUnit.Worldを測定単位として使用し、ポイントを回避することでした。まだ換算率はわかりませんが、見た目が良くなるまで概算しました。

私の目的では、これで十分でした。

于 2008-11-10T10:23:20.633 に答える