c#绘图

放在控件的onpaint方法中 

private void on_Paint(object sender, PaintEventArgs e)
        {
            
              Graphics g = e.Graphics;
              Pen p = new Pen(Color.Black, 1);
              //横线
              // Point p1=new Pen();
             // e.Graphics.DrawLine(p,);
              g.DrawLine(p, 15, 12, 512, 12);
              g.DrawLine(p, 15, 44, 512, 44);
              g.DrawLine(p, 15, 78, 512, 78);
              g.DrawLine(p, 15, 103, 512, 103);
              g.DrawLine(p, 15, 139, 512, 139);
              g.DrawLine(p, 15, 177, 512, 177);
              g.DrawLine(p, 15, 215, 512, 215);
              g.DrawLine(p, 15, 253, 512, 253);
              g.DrawLine(p, 15, 286, 512, 286);
              g.DrawLine(p, 15, 319, 512, 319);
              //竖线
              g.DrawLine(p, 15, 12, 15, 319);
              g.DrawLine(p, 512, 12, 512, 319);
              g.DrawLine(p, 88, 12, 88, 319);
              g.DrawLine(p, 325, 12, 325, 78);
              g.DrawLine(p, 404, 12, 404, 78);
              g.DrawLine(p, 188, 78, 188, 286);
              g.DrawLine(p, 300, 78, 300, 319);
              g.DrawLine(p, 410, 78, 410, 286);


              //首先要有一张画布

              // Bitmap bmp1 = new Bitmap(@"f:\myPic.bmp"); //创建一张图片作为画布 有很多方法,一下列出三种方法

              //Bitmap bmp2 = Bitmap.FromFile(@"f:\myPic.bmp") as Bitmap;


              //Bitmap bmp3 = new Bitmap(200, 200);

              //Graphics g = Graphics.FromImage(bmp3);//获取图片的绘图表面,使用Graphics g 在其上面绘画,相当于有了画板



              //其次要有画图的工具如画笔pen,画刷brush


              //创建画刷 (注意Brush是抽象类)

              Brush brush1 = Brushes.Coral;//从Brushes类中得到一种已经定义好的画刷

              //有五个重brush继承的画刷类: SolidBrush(实心画刷)   TextureBrush(纹理画刷 即用图像填充)   HatchBrush(阴影画刷)

              //LinearGradientBrush(渐变画刷)  PathGradientBrush

              SolidBrush brush2 = new SolidBrush(Color.FromArgb(1, 2, 3));


              //创建画笔

              Pen pen = new Pen(brush1);

              Pen pen1 = new Pen(Color.Red);

              Pen pen2 = new Pen(brush1, 2);//指定的画刷,指定的画笔宽度

              Pen pen3 = Pens.Aqua;//从Pens类中得到一种已经定义好的画笔


              //最后就是要在画板上面画什么图案了

              //画线

              Point pStart = new Point(1, 1);//指定起点和终点

              Point pEnd = new Point(50, 50);


              pen.DashStyle = DashStyle.DashDot; //指定笔的样式 画一条虚线


              pen.StartCap = LineCap.AnchorMask; //指定线头的外观

              pen.EndCap = LineCap.AnchorMask;


              g.DrawLine(pen, pStart, pEnd);//画直线


              //画平面几何图形  g.DrawXXX("画笔","几何图形") 画的是空心的几何图形

              // g.FillXXX("画刷",“几何图形”)画的是实心的几何图形

              //画矩形

              Rectangle rect = new Rectangle(1, 2, 50, 50);//定义一个矩形框

              g.DrawRectangle(pen, rect);//画空心的矩形


              g.FillRectangle(brush1, rect);//画实心的矩形


              g.DrawEllipse(pen, rect);//画空心椭圆

              g.FillEllipse(brush1, rect);//画实心椭圆



              //绘制文本 使用   g.DrawString(“要绘制的文本”,“字体”,“画刷”,“绘制文本的左上角的位置”);

              string text = "我是宋体";

              Font font = new Font("宋体", 16);

              SolidBrush brush = new SolidBrush(Color.Black);

              Point pt = new Point(1, 1);

              PointF ptf = new PointF(1.1f, 1.2f);//Point类与PointF类的区别就是x,y属性的类型不同,一个是整型,一个是浮点型

              g.DrawString(text, font, brush, pt);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值