在利用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时的效果