C# winfrom 简单绘图GDI+

  最近比较闲,无聊就瞎看了一些小玩意。winfrom虽然说如今用的除了固定的那些,基本都不会用了。不巧的事,我就在这些固定那就中里面。c#

  说道绘图GDI+我就简单说一下:工具

    GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各类丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等.spa

  大概了解了什么是GDI+后,咱们来看一下绘图要用到的主要工具,要画图,确定要画板吧,在C#中画板能够经过Graphics这个类来建立,有了画板,总得弄个笔什么之类的吧,否则怎么画呀,在c#中咱们能够用Pen,Brush类来实现相似功能.颜料颜色则天然是用Color类解决了.code

 

  有了工具,接下来就好说了,在vs中建一个完成您from窗体,至于命名本身想吧(在这我使用vs2013写的)orm

 一、准备画板对象

    建立画板有三种方式(你们能够本身试试,至于我使用的是第一种)blog

      A: 在窗体或控件的Paint事件中直接引用Graphics对象 
      B: 利用窗体或某个控件的CreateGraphics方法
      C: 从继承自图像的任何对象建立Graphics对象   
继承

1 private void Form1_Paint(object sender, PaintEventArgs e)
2  { 3 Graphics g = e.Graphics;//建立画板(这里是直接写在Form窗体上了) 4 }

  二、准备画笔 接口

1         private void Form1_Paint(object sender, PaintEventArgs e)
2  { 3 Graphics g = e.Graphics;//建立画板(这里是直接写在Form窗体上了) 4 5 Pen p1 = new Pen(Color.Red, 8);//定义了一个绿色,宽度为3的画笔 6 } 

  三、开始你的创做(我这里简单的作了一个五环的小旗子)事件

 1 private void Form1_Paint(object sender, PaintEventArgs e)
 2  { 3 Graphics g = e.Graphics;//建立画板(这里是直接写在Form窗体上了) 4 5 //五环 6 Pen p1 = new Pen(Color.Red, 8);//定义了一个绿色,宽度为3的画笔 7 Pen p2 = new Pen(Color.Blue, 8); 8 Pen p3 = new Pen(Color.Black, 8); 9 Pen p4 = new Pen(Color.Yellow, 8); 10 Pen p5 = new Pen(Color.Green, 8); 11 g.DrawArc(p1, 85, 75, 125, 125, 1500, 1500);//用p1画笔画出了一个园 12 g.DrawArc(p2, 210, 75, 125, 125, 1500, 1500); 13 g.DrawArc(p3, 335, 75, 125, 125, 1500, 1500); 14 g.DrawArc(p4, 148, 162, 125, 125, 1500, 1500); 15 g.DrawArc(p5, 272, 162, 125, 125, 1500, 1500); 16 17 //小旗子 18 Pen p6 = new Pen(Color.Red, 15); 19 g.DrawLine(p6, 20, 20, 20, 1000); 20 g.DrawLine(p6, 600, 63, 600, 376); 21 22 Pen p7 = new Pen(Color.Red, 15); 23 Point d1 = new Point(16, 24); 24 Point d2 = new Point(200, 60); 25 Point d3 = new Point(350, 5); 26 Point d4 = new Point(600, 70); 27 28 Point d5 = new Point(20, 320); 29 Point d6 = new Point(200, 360); 30 Point d7 = new Point(350, 305); 31 Point d8 = new Point(600, 370); 32 33 g.DrawBezier(p7, d1, d2, d3, d4);//花出一条流水似的线 34  g.DrawBezier(p7, d5, d6, d7, d8); 35 }

  四、运行后的实际效果

  

  尴尬,由于画的比较大,本人在画画也没太大天赋,大伙就凑合着看吧

 

 

 

版权声明:本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。

做者:黯淡の青春    博客地址:http://www.cnblogs.com/wuwangqianxun/

相关文章
相关标签/搜索