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

posted @ 2010-01-23 09:29  陈希章  阅读(5578)  评论(0编辑  收藏  举报