1

元のサイズの 3 倍に引き伸ばされた形式で表示されている画像があります。
テキストが引き伸ばされることなく、画像にテキストを書き込みたい。
これは可能ですか?

私は(リフレッシュ方法で)試しました:

    //On Form            //my Bitmap
    ImageDisplay.Image = IntensityBMP;
    Graphics g = Graphics.FromImage(ImageDisplay.Image);
    g.DrawString("MyText", new Font("Tahoma", 8), Brushes.White, etc);

and

    protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.DrawString("MyText", new Font("Tahoma", 8), etc);
        base.OnPaint(e);
    }

どちらも、事前にストレッチされた画像にテキストを描画するため、テキストがピクセル化され、大きすぎます。

4

1 に答える 1

2

PictureBox が画像をレンダリングした後で、テキストを描画する必要があります。

また:

myForm.pictureBox1.Paint += PictureBoxPaintEvent;
private void PictureBoxPaintEvent(object sender, PaintEventArgs e)
{
   e.Graphics.DrawString("MyText", myFont, ....);
}

また

派生クラスを作成してPictureBoxオーバーライドするPaint

protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);
    e.Graphics.DrawString("MyText", new Font("Tahoma", 8), etc);
}
于 2012-08-12T23:37:03.447 に答える