2009-11-27 59 views
4

我做了一个小应用程序来显示客人的图片,因为他们扫描他们的卡片。 但我想要显示空白绿色或红色(绿色,如果客人存在没有照片和红色,如果他们不存在)C#形式图片框显示一个纯色而不是图像

但我无法弄清楚如何创建一个空白的彩色图像。

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

这就是我现在的代码,它只是使箱子变黑。 imgbox是一个图片框

回答

10

不要使用图像 - 设置图片框的背景色属性:

imgBox.BackColor = Color.Red; 
1

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

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

如何直接设置背景颜色?

imgbox.BackColor = Color.Red; 
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

单语句:

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

对不起,我最初投入。 PicBox.img而不是PicBox.Image – Srivishnu 2017-06-28 16:10:23

+0

图形类没有构造函数,如果它有,你仍然必须处理它。 Point.NULL也是错误的。自问题被要求测试您的代码以来,您已经有8年时间了。 – LarsTech 2017-06-28 16:17:01

+0

对不起,我将其更正为图形。从图像 – Srivishnu 2017-06-29 05:32:03

相关问题