私はよくgraphic.DrawStringを使用しています...文字列を描画します。
フォント ファミリー、フォント サイズ、フォント スタイル、グラフィック ユニットを指定します。
50台のコンピューターではすべてがうまく機能しますが、1台だけではフォントが「太字」になります。文字の高さは同じですが、何らかの理由で「ピクセル」が幅の 2 倍になっています。
これはコードで修正できますか?
これは、Windows の設定を使用して修正できますか?
これは、適用可能な同じフォントがすべてのマシンにインストールされていることを確認し、Windows の個人用設定が同じであることを確認することで修正できますが、最終的には、すべてのマシンで DrawString が常に同じ幅のテキストを描画することをコードで想定してはなりません。フォントは可変であるため、フォントを選択すると、実際に使用されるフォントはコンピューターごとに異なる場合があります。可能であれば、さまざまな幅のテキストを処理できるようにアプリケーションをコーディングする必要があります。次のように Graphics.MeasureString を呼び出すことで、テキストを描画する前にテキストの幅を取得できます。
Dim textSize As SizeF = graphic.MeasureString("text to measure", Me.Font, Me.ClientRectangle.Width)
「次の方法を使用して画面フォントのエッジを滑らかにする」をClearTypeからStandardに変更して修正することができました。
また、graphic.TextRenderingHintを変更することにより、コード内で変更することもできます。