「pictureboxC#にテキストを描画する」をグーグルで検索しましたが、役立つものが見つかりませんでした。「フォームC#にテキストを描画する」をグーグルで検索したところ、コードが見つかりましたが、希望どおりに機能しません。
private void DrawText()
{
Graphics grf = this.CreateGraphics();
try
{
grf.Clear(Color.White);
using (Font myFont = new Font("Arial", 14))
{
grf.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new PointF(2, 2));
}
}
finally
{
grf.Dispose();
}
}
関数を呼び出すと、フォームの背景色が白になります(デフォルトでは黒です)。
私の質問:
1:これはピクチャーボックスで機能しますか?
2:問題を解決する方法は?
Clear()の呼び出しは望ましくありません。そのため、背景が白くなり、画像が隠されてしまいます。
PictureBoxでPaintイベントを使用したいとします。 e.Graphicsからグラフィックリファレンスを取得し、サンプルにあるDrawString()を使用します。
これがサンプルです。フォームに画像ボックスを追加し、Paintイベントのイベントハンドラーを追加するだけです。
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Font myFont = new Font("Arial", 14))
{
e.Graphics.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new Point(2, 2));
}
}
(デザイン時にはテキストが表示されないことに注意してください。ペイントするにはプログラムを実行する必要があります)。