最近比較閒,無聊就瞎看了一些小玩意。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/