C#——GDI+基础

在一个窗体上,我们首先需要明确的是如下图所示的坐标轴——

 然后是定义概念——GDI+:图形设备接口,在C#中使用GDI+处理二维的图像和图形,使用DirectX处理三维图形。

主要的命名空间是——System.Drawing。


绘图步骤:

画图先要有画布,因此步骤如下——

 1.创建Graphics对象;      

 2.使用Graphics对象的方法绘图、显示文本或处理图像。

画布的创建路径——

1、利用窗体或控件的重绘,一般都是override paint事件,常在自定义控件中使用

2、调用某控件的CreateGraphics方法,常为 Graphics g = this.CreateGraphics();

3、在一幅图上绘画,一般是在一个picturebox里——Graphics g1 = Graphics.FromImage(pictureBox1.Image);

Graphics中的常用方法——

  //基本绘制内容
            //1创建绘制对象
            Graphics g = this.CreateGraphics();
            g.SmoothingMode = SmoothingMode.HighQuality;

            创建画笔
            Pen pen = new Pen(Color.Black, 2);//创建画笔的颜色和粗细

            实例1、划线
            //g.DrawLine(pen, 100, 100, 200, 200);//(100,100)(200,200)
            //g.DrawLine(pen, new Point(200, 200), new Point(100, 100));//第二种方式
            //g.DrawLines(pen, new Point[]{
            //    new Point(100,100),
            //    new Point(200,300),
            //    new Point(400,300),
            //    new Point(400,400)
            //});

            画弧线
            //g.DrawCurve(pen, new Point[]
            //{
            //      new Point(100,100),
            //    new Point(200,300),
            //    new Point(400,300),
            //    new Point(400,400)
            //},2f);//最后一个值是张力,越大越平滑

            画闭合弧线,该闭合空间可以填充
            //Point[] point = new Point[]
            //{
            //       new Point(100,100),
            //    new Point(200,300),
            //    new Point(400,300),
            //    new Point(400,400)
            //};
            //g.DrawClosedCurve(pen, point);
            //g.FillClosedCurve(new SolidBrush(Color.Gold), point);

            绘制矩形
            定义一个矩形区域,
            //Rectangle rec = new Rectangle(100, 100, 200, 200);
            //g.DrawRectangle(pen, 100, 100, 200, 200);//画笔,位置x(起点),位置y(起点),长度,宽度
            填充矩形
            //g.FillRectangle(new SolidBrush(Color.Red),rec);
            先填充,后绘画,就不会将边框盖住


            绘制圆形或者椭圆
            //Rectangle rec1 = new Rectangle(200, 200, 200, 150);
            //g.DrawEllipse(pen, rec1);
            画正圆
            //g.DrawEllipse(pen, 200, 200, 200, 200);
            //g.FillEllipse(new SolidBrush(Color.Gold), rec1);//

            //绘制多边形
            //Point[] points = new Point[]
            //{
            //             new Point(300,200),
            //    new Point(300,300),
            //    new Point(400,300),
            //    new Point(400,200),
            //     new Point(400,400),
            //};
            //g.DrawPolygon(pen, points);//是一个闭合曲线
            //g.FillPolygon(new SolidBrush(Color.Green), points);//只填充闭合后的区域

            //绘制扇形
            Rectangle rec2 = new Rectangle(100, 100, 200, 200);
            g.DrawPie(pen, rec2, 90, 60);//基于某个图形画扇形?//开始角,结束角
            g.FillPie(new SolidBrush(Color.Gold), rec2, 90, 60);//在这个扇形区域内填充
            Rectangle rec3 = new Rectangle(200, 200, 200, 200);
            g.DrawPie(pen, rec3, 0, 160);//以逆时针,计算角度,然后坐标轴朝右为X的正,朝下为y的正, 起点在左上角


         
            //绘制字符串
            
            g.DrawString("不想上班", new Font("微软雅黑", 12, FontStyle.Bold), new SolidBrush(Color.Gold), 50, 50);//后面两个是坐标点


 更多,放在Graphics按F1,或者ctrl+左键点击,进入看方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matrix Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值