位图不会以形式出现

时间:2014-02-06 19:09:01

标签: c# winforms bitmap

我正在尝试在我的表单中显示位图,但它不起作用。

我的代码:

private void button2_Click(object sender, EventArgs e)
{
    Graphics g = this.CreateGraphics();
    Pen pen = new Pen(Color.Black);

    Bitmap bitmap = new Bitmap(1000, 1000);
    Graphics gfx = Graphics.FromImage(bitmap);
    gfx.Clear(Color.Red);

    for (int i = 0; i < 5; i++)
    {
        gfx.DrawRectangle(pen, i + 50, 50, 50, 50);
    }
}

1 个答案:

答案 0 :(得分:0)

您的所有代码都在绘制内存中的位图。您没有任何代码可以在任何地方实际显示该位图。

您可以修改代码以将位图绘制到表单上,但正如nvoigt在评论中建议的那样,更好的解决方案是使用PictureBox控件。创建位图时,可以将该位图分配给图片框的Image属性:

Bitmap bitmap = new Bitmap(1000, 1000);
// render bitmap

pictureBox1.Image = bitmap;

如果你绝对必须在表单上绘图,你可以覆盖表单的OnPaint方法,并使用图形对象的DrawImage()方法在那里渲染你的位图。