C#forms的图片框来显示一个纯色,而不是一个图像

我做一个小应用程序来显示客人的图片,因为他们扫描他们的卡。 但是我想显示空白绿色或红色(如果客人没有照片存在,则为绿色,如果不存在则为红色)

但我不知道如何创build一个空白的彩色图像

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

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

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

 imgBox.BackColor = Color.Red; 

要防止空指针异常,请创建一个空白的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)); 

如何直接设置背景颜色?

 imgbox.BackColor = Color.Red; 

创建一个图形上下文并使用它绘制。

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

单一声明:

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