0

私はよくgraphic.DrawStringを使用しています...文字列を描画します。

フォント ファミリー、フォント サイズ、フォント スタイル、グラフィック ユニットを指定します。

50台のコンピューターではすべてがうまく機能しますが、1台だけではフォントが「太字」になります。文字の高さは同じですが、何らかの理由で「ピクセル」が幅の 2 倍になっています。

これはコードで修正できますか?
これは、Windows の設定を使用して修正できますか?

4

2 に答える 2

1

これは、適用可能な同じフォントがすべてのマシンにインストールされていることを確認し、Windows の個人用設定が同じであることを確認することで修正できますが、最終的には、すべてのマシンで DrawString が常に同じ幅のテキストを描画することをコードで想定してはなりません。フォントは可変であるため、フォントを選択すると、実際に使用されるフォントはコンピューターごとに異なる場合があります。可能であれば、さまざまな幅のテキストを処理できるようにアプリケーションをコーディングする必要があります。次のように Graphics.MeasureString を呼び出すことで、テキストを描画する前にテキストの幅を取得できます。

Dim textSize As SizeF = graphic.MeasureString("text to measure", Me.Font, Me.ClientRectangle.Width)
于 2012-05-11T15:32:29.083 に答える
0

「次の方法を使用して画面フォントのエッジを滑らかにする」をClearTypeからStandardに変更して修正することができました。

また、graphic.TextRenderingHintを変更することにより、コード内で変更することもできます。

于 2012-05-11T17:45:38.210 に答える