GDI+:如何绘制透明色

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

image

这是不透明度为100时的效果

image

这是不透明度为0时的效果

image

你可能感兴趣的:(DI)