C#Forms Picturebox显示纯色而不是图像

时间:2009-11-27 05:56:56

标签: c# windows image

我正在制作一个小应用程序,以便在扫描卡片时显示客人的照片。 但我想显示空白的绿色或红色(如果客人没有照片则为绿色,如果不存在则为红色)

但我无法弄清楚如何制作空白彩色图像。

Bitmap bmRed = new Bitmap(imgbox.Width, imgbox.Height, PixelFormat.Format24bppRgb);
imgbox.Image = bmRed;

这就是我现在的代码,它只是让盒子变黑。 imgbox是一个PictureBox

5 个答案:

答案 0 :(得分:12)

不要使用图像 - 设置PictureBox的BackColor属性:

imgBox.BackColor = Color.Red;

答案 1 :(得分:4)

要防止空指针异常,请创建一个空白bmp

myPicBox.Image = new Bitmap(myPicBox.Width, myPicBox.Height);
Graphics graphics = Graphics.FromImage(myPicBox.Image);

Brush brush = new SolidBrush(Color.Gray);

graphics.FillRectangle(brush, new System.Drawing.Rectangle(0, 0, myPicBox.Width, myPicBox.Height));

答案 2 :(得分:2)

如何直接设置背景颜色?

imgbox.BackColor = Color.Red;

答案 3 :(得分:1)

创建图形上下文并使用它进行绘制。

using(Graphics g = Graphics.FromImage(bmRed))
{
  g.FillRectangle(new SolidBrush(Color.Red),0,0,imgbox.Width,imgbox.Height);
}

答案 4 :(得分:-2)

单一陈述:

Graphics.FromImage(PicBox.Image=new bitmap(PicBox.Size)).FillRectangle(Brushes.Red,new Rectangle (Point.EMPTY,PicBox.Size));