Treansparent背景を持つLabelを持つことができないため、GraphicsBoxの上に手作業で文字列をレンダリングしています。アンチエイリアス処理時にWindowsフォームの文字列が醜いように見えるのはなぜですか?
私もしてみてくださいレンダリングモードどんなにに、私は、文字列が(つまり、何か良いを見てもらうことはできません。彼らは、Wordまたはグラフィックプログラムに表示されるよう。
ここインターフェースモックアップの写真です画面上のレンダリングものと比較:
残念ながらStackOverflowのはとてもここでも直接リンクの画像を縮小するようだ:
: http://i.stack.imgur.com/vYFaF.pngそしてここでは、レンダリングに使用するコードです
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics labelDrawing = e.Graphics;
labelDrawing.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
labelDrawing.DrawString("Setup Progress", new Font("Calibri", 10, FontStyle.Bold, GraphicsUnit.Point, 0), new SolidBrush(Color.Black), new Point(12, 9));
labelDrawing.DrawString("The following components are being configured.", new Font("Calibri", 10, FontStyle.Regular, GraphicsUnit.Point, 0), new SolidBrush(Color.Black), new Point(24, 27));
}
TextRenderingHintをすべてのオプションに順番に変更しようとしましたが、アンチエイリアスがあれば何を試みても、スクリーンショットのようにぼやけて汚れてしまいます。何か案が?
透明な背景のラベルを使用しました。ラベルのBackColorプロパティをTransparentに設定していたのはどのような問題でしたか? –
BackColourを透明に設定すると、背景が灰色になります。これは、常にラベルが親コントロールの背景をピックアップしているためです。彼のコメントの中のパルメザンコーディスのリンクは、同様の現象を示している。 – Coxy
奇妙な。私は自分の背景をペイントするフォームから派生したフォームでしか作れなかったと思うので、技術的にはラベルは親の背景を拾っていて大丈夫です。 –