在利用GDI+绘制图形的时候,有时我们需要绘制透明的颜色。那么应该如何来实现这样的需求呢
下面我写了一个简单的例子
private void bt_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Color c = Color.FromArgb(50, 244, 23, 45);//第一个参数是设置alpha通道值,也就是不透明度。100为完全不透明,0为完全透明 g.FillRectangle( new SolidBrush(Color.Yellow), new Rectangle(50, 50, 400, 300)); g.FillRectangle( new SolidBrush(c), new Rectangle(100, 100, 100, 100)); g.DrawPolygon(new Pen(Color.Red), new[]{ new Point(200,100), new Point(100,200), new Point(300,200) }); }
这是不透明度为50的时候的效果
这是不透明度为100时的效果
这是不透明度为0时的效果