GDI+_入門教程【一】


GDI For VisualBasic6.0 【一】
文件下載:
GDI+ For VB6【一】 簡單繪圖實例演示
百度網盤

1
'以下為作者【vIsiaswx】的教程 2 '(該教程發布的原地址已無法訪問,此版是流散網絡的電子書版復制過來的。如果聲明必要,務必與我聯系。) 3 ' E-mail : lqx@tyningling.top 4 ' QQ: 1919988942

VB6 GDI+  入門教程[1] GDI+ 介紹
引言:鑒於網上關於 GDI+的教程都是.Net 的,基本上沒有 VB6.0 的,而這方面又很多人有
需要,所以我就寫一個 Visual Basic 6 GDI+ 入門教程。
目標人群:所有能夠較熟練使用 VB 的,對 GDI+感興趣或有 GDI+編程需要的人。
1. What's GDI+
官方解釋:GDI+是 Windows XP 中的一個子系統,它主要負責在顯示屏幕和打印設備輸出
有關信息,它是一組通過 C++類實現的應用程序編程接口。顧名思義,GDI+是以前版本 GDI
的繼承者,出於兼容性考慮,Windows XP 仍然支持以前版本的 GDI,但是在開發新應用程
序的時候,開發人員為了滿足圖形輸出需要應該使用 GDI+,因為 GDI+對以前的 Windows
版本中 GDI 進行了優化,並添加了許多新的功能。
作為圖形設備接口的 GDI+使得應用程序開發人員在輸出屏幕和打印機信息的時候無需考慮
具體顯示設備的細節,他們只需調用 GDI+庫輸出的類的一些方法即可完成圖形操作,真正
的繪圖工作由這些方法交給特定的設備驅動程序來完成,GDI+使得圖形硬件和應用程序相
互隔離,從而使開發人員編寫設備無關的應用程序變得非常容易。
我的解釋:GDI+其實就是一個繪圖模塊,用於在屏幕上輸出各種需要的內容。
2. GDI+ DLL
GDI+的 Dll 在 Windows XP+中默認存在,如果 Windows XP 以下系統需要使用 GDI+,那么
需要從微軟網站上下載安裝包。
3. 使用 GDI+
GDI+在.net Framework 中默認集成,只要添加它的命名空間(System.Drawing.Drawing2D)
就能夠使用了;而 GDI+在其它上面就沒有那么容易了,例如 VB6 就需要添加 GDI+的 API。
對於初學者,寫一堆 API 可能比學 GDI+用時還要長,不過我整理好了 API 到了一個模塊,
使用時候呢 只要在 VB 里面加載一下就可以啦!
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
VB6 GDI+  入門教程[2] GDI+ 初始化
現在先讓我們了解下 GDI+的繪圖機制。
1.初始化、關閉 GDI+
我們需要對 GDI+進行初始化,才能使用它的各種功能。如果沒有初始化,那么 VB6 就會莫
名其妙的崩潰。呵呵。
當然程序結束了我們還要關閉 GDI+釋放內存。
2.Graphics
Graphics 是 GDI+基礎。首先我們需要一個圖形對象 graphics(可以看作是畫板),我們所有
的東西都要畫在這個上面。那么如何顯示呢?不要急,我們可以通過 GDI+內置函數從一個
對象的 DC(設備描述表)上創建 graphics。這樣我們操作 graphics 的時候就會顯示在對象
上。當然我們還可以從對象的 hwnd 中創建;在.net 中也可以從 gdi+的圖像(image)中創建(直
接操作在圖像上)。
3.繪圖工具
有了畫板,我們還要畫筆、畫刷才能畫畫 - -。畫筆畫刷呢,在 gdi+中就叫做 pen、brush。
畫筆 pen 只能畫一個輪廓(畫線),而畫刷可以對一個東西進行填充(刷子)。這個就是一個
基礎 呵呵,很簡單吧。
4.創建第一個 VB6 的 GDI+ 程序
首先,我們添加下 GDI+模塊;然后我們需要對窗體(以后可以是其它容器)屬性進行設置:
AutoRedraw=True,開啟自動重繪;再把 ScaleMode 設置成 3(Pixel 像素),因為 GDI+基礎單
位就是像素(當然可以用別的單位)
好,現在雙擊窗體,寫入下面代碼:
Option Explicit
Dim graphics As Long
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
OK,F5 運行。如果沒有問題的話我們第一個最基礎的 GDI+程序已經完成了。這個基本的
程序創建了一個 graphics 對象,當然什么還沒有畫呢。
通過這個程序,我們就大致了解 VB6 中 GDI+如何初始化、關閉了。首先呢要啟動 GDI+,
然后要創建一個 graphics;關閉的時候也要做好掃地工作。
5.畫線
線嘛,又不是填充,根據前面說的,我們需要一個 pen。那么如何創建 pen 呢?呵呵,下面
的代碼就能創建一個 pen(追加在 Form_Load 過程中的末尾):
Dim pen As Long
GdipCreatePen1 &HFFFF0000, 1, UnitPixel, pen
這里已經新建了一個 pen。為什么是 GdipCreatePen1 而不是 GdipCreatePen2 什么的呢?你可
以在代碼里面輸入“mgdip.”這樣就列出了所有的 GDI+函數。通過對象瀏覽器可以得知 pen2
是根據 brush 來創建 pen 的,現在不用。
&HFFFF0000:這里就是一個 16 進制的 ARGB (Alpha,Red,Green,Blue——透明,紅色,綠色,
藍色程度,255(&HFF)是完全,0(&H0)是完全不) 的數據。當然你可以輸入 10 進制,只是
16 進制很方便,2 個位就是一段,如&HFFFF0000 就代表一個透明度是 255(不透明),顏
色是紅色的一種顏色。如果你知道點繪圖技巧就很容易用這個去寫 呵呵~。同時我們還能看
到 gdi+過程是傳址的,把 pen 傳進去。為什么不用函數傳出來呢?因為函數要傳出一個標識,
錯誤標識。一般如果成功了那么就返回的是 0(Ok)。
好,現在已經拿到筆了,接下來就是用這個筆去畫線了。通過查詢可知有這么個 API:
GdipDrawLine,它的 X1Y1,X2Y2 是 single 型,繼續找又發現 GdipDrawLineI,它的坐標值
都是 Long 型(我們一般用不到 single,因此我們一般用 GdipDrawLineI 就行了)。根據它的
參數名字 亂猜都能猜出來哪個參數代表什么了,於是我隨便寫了一句:GdipDrawLineI
graphics, pen, 10, 10, 200, 100。注意:你需要把 graphics 和 pen 傳進去,否則怎么畫呢?不
告訴它畫在哪里~~,后面 4 個參數分別對應:起始點 X、起始點 Y、終點 X、終點 Y 的坐
標。當然掃地工作也要做好,刪除 pen 的語句是 GdipDeletePen;參數很簡單,傳 pen 進去
即可。
綜合起來,於是我們有了第一段真正繪制的 GDI+ VB6 程序,雖然它只畫了一條線:
Option Explicit
Dim graphics As Long
Dim pen As Long
Private Sub Form_Load()
InitGDIPlus
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
GdipCreateFromHDC Me.hDC, graphics
GdipCreatePen1 &HFFFF0000, 1, UnitPixel, pen
GdipDrawLineI graphics, pen, 10, 10, 200, 100
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeletePen pen '刪除這個筆(pen)
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
OK,F5 運行。紅線沒有出來?^_^……注意了 我們是在 Load 中繪制的。GDI+繪制與 VB
自己語句繪制一樣。我們需要讓他自動重繪(窗體的 AutoRedraw=True)或者放到 Paint 里
面:)
順便說一下,如果你不是在 Load 事件中繪制的東西,並且 Form的 AutoRedraw 是 True,那
么別忘記全部畫完后 Refresh(例如 Me.Refresh)一下~!不然不會出現直到重繪時(例如曾被
擋住)。
終於……哈,一條紅色的斜線出現了!
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
VB6 GDI+  入門教程[3]  筆、刷子、矩形、橢圓繪制
好,我們已經學會如何畫線了,那么后面的事情只要變通下都可以解決。不過變通前我還是
得說幾個基本的東西。
1.繪制,填充一個矩形
繪制一個整型長度的矩形,我們要用到 GdipDrawRectangleI 和 GdipFillRectangleI。前者用
pen 畫一個輪廓邊框,后者用 brush 刷出一個填充區域。當然接下來就是如何創建刷子的問
題了。GDI+中有多種刷子,有純色刷子(創建:GdipCreateSolidFill),有漸變刷子(創建:
GdipCreateLineBrush),還有紋理刷子,貼圖刷子,路徑刷子等等…………它們用於不同的
方面。
(1)繪制一個矩形邊框
首先,我們需要一個 pen。
第一步,Dim!當然,我這樣寫了:Dim pen As Long;
第二步,創建一個紅色的 pen(線的粗細是 1px):GdipCreatePen1 &HFFFF0000, 1, UnitPixel,
pen。
pen 創好了,接下來畫矩形。這里我們用 GdipDrawRectangleI 來畫矩形。畫矩形跟畫線可不
一樣,雖然指定坐標的都是 4 個參數,但是矩形里面四個參數分別是:X,Y,長,寬。OK,綜
合一下,代碼如下:
Option Explicit
Dim graphics As Long
Dim pen As Long
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
GdipCreatePen1 &HFFFF0000, 1, UnitPixel, pen
GdipDrawRectangleI graphics, pen, 30, 30, 100, 100
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeletePen pen
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
現在我們就繪制了一個 100*100 的紅色矩形邊框。很簡單吧,變通就是這樣的。
(2)創建純色刷子
任何刷子包括其它的 GDI+元素基本上都是一個思路:我們首先要 Dim 一個 long 型變量儲
存刷子/其它元素的地址,然后再調用 GDI+相關函數去創建出指定刷子/其它元素。現在來
創建一個藍色,透明度為&HAA 的刷子,那么代碼就是這樣:
Dim brush As Long
GdipCreateSolidFill &HAA0000FF, brush
刷子就這樣拿到了。當然不要忘記掃地工作:GdipDeleteBrush brush。
(3)用刷子填充一個矩形
很明顯,函數里面找一下就會發現我們要的函數:GdipFillRectangleI。它與 DrawRectangleI
很類似,只不過把 pen 變成了 brush,因為現在要刷上去嘛- -。這一步也是很好變通的。把
前面的一翻整理之后我們得到了一個繪制矩形並填充(不如說先填充再畫邊框,至於原因你
可以自己顛倒一下順序看下結果)的代碼(注意 填充色是有透明度的):
Option Explicit
Dim graphics As Long
Dim pen As Long, brush As Long
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
GdipCreatePen1 &HFFFF0000, 1, UnitPixel, pen
GdipCreateSolidFill &HAA0000FF, brush
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
GdipFillRectangleI graphics, brush, 30, 30, 100, 100
GdipDrawRectangleI graphics, pen, 30, 30, 100, 100
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeletePen pen
GdipDeleteBrush brush
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
一樣很簡單吧!GDI+就是那么簡單,只要懂了它的“工作機制”~!
(4)漸變刷子
漸變色很 Cool,純 VB 代碼卻要很多,還好,GDI+有一個方便的漸變刷子函數
——GdipCreateLineBrush。看參數,發現不一樣:
Function GdipCreateLineBrush(Point1 As POINTF, Point2 As POINTF, Color1 As Long, Color2
As Long, WrapMode As WrapMode, LineGradient As Long) As GpStatus
雖然復雜。。不過又很容易理解:Point1 是一個 PointF 結構,它儲存了坐標的 X,Y(濃縮哈),
代表起始位置…………咿,這是刷子啊,怎么也有起始、中止……?其實呢,這是漸變的起
始、中止位置。不過一般情況下我們的起始中止位置是和繪制的圖形一致的。Point2 一樣,
代表了終點。漸變就在這兩個點中“展開”。注意咯,現在是坐標點,不是長寬值啦!Color1
自然就是起始顏色,Color2 嘛 第二顏色。WrapMode 就是填充方向,最后一個參數自然就
是傳回 brush 咯。
於是我們又開始寫程序了,這次是創建一個藍色>紅色,縱向的刷子。繪制圖形免去,如果
想看效果請自己添加 drawrectangle(如果還要使用 point 畫矩形請注意啦,rectangle 里面 后
面參數是接受長寬,而刷子里面接受的是點……知道區別和解決方法了么?減唄!)……,
這主要讓你知道刷子的“運作模式”呵呵。
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Dim brush As Long
Dim p1 As POINTF, p2 As POINTF
p1.X = 10
p1.Y = 10
p2.X = 100
p2.Y = 100
GdipCreateLineBrush p1, p2, &HFF0000FF, &HFFFF0000, WrapModeTileFlipy, brush
2.繪制橢圓
橢圓,想想也不會跟 rectangle 畫法相差到哪里去。事實的確如此。下面就是一個繪制漸變
橢圓的代碼,解釋免了吧,應該是很容易理解的。
Option Explicit
Dim graphics As Long
Dim brush As Long
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
Dim p1 As POINTF, p2 As POINTF
p1.X = 10
p1.Y = 10
p2.X = 100
p2.Y = 50
GdipCreateLineBrush p1, p2, &H8AFF00FF, &HFFFF0000, WrapModeTileFlipXY, brush
GdipFillEllipseI graphics, brush, p1.X, p1.Y, p2.X - p1.X, p2.Y - p1.X '注意:類似的,繪制橢
圓邊框的語句是 GdipDrawEllipseI
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeleteBrush brush
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
3.反鋸齒功能
不知你有沒有發現,畫出來的橢圓是很不圓滑的(雖然用 VB 自己繪制也是如此)。如此強
大的 GDI+怎么可能沒有圓滑的功能呢?有!函數是 GdipSetSmoothingMode。我們需要把它
加在繪制內容之前。一般我們把它加在創建好 graphics 之后(注意:它是作用於 graphics 的,
因此請不要還沒初始化 graphics 就設置 graphics 的光滑屬性- -)。經過一翻調整,我們得出
了一個設置圓滑的語句:
GdipSetSmoothingMode graphics,SmoothingModeAntiAlias
模式自然要設置成 AntiAlias,AntiAlias 顧名思義就是反鋸齒(消除鋸齒)。現在我們把這句話
加到前面的橢圓程序中去,運行,如何,橢圓很光滑吧!同樣,前面任何一個程序都可以這
樣加使 gdi+畫出來的東西看上去很平滑。
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
VB6 GDI+  入門教程[4]  文字繪制
1.GDI+中文字的必須要素
首先,與其它軟件一樣,GDI+中的文字也有格式。畫文字有多種畫法,但是無論如何,我
們都需要創建一個 FontFamily,這其中包含了字體類型的信息,包括字體名稱、字體對齊方
式(需要設置)等等。一般的畫法然后還要從這個 FontFamily 創建一個 Font,這個 Font 中
包括字體樣式(粗體、斜體)、字號等等,再后來我們調用一個函數把文字用這個 Font 顯示
出來~;路徑畫法(可以顯示邊框畫法)則不需要創建字體,直接調用函數,字體的樣式包
括在函數里面了。
可見,GDI+中文字是需要一個 FontFamily(一般是全局的),和一些 Font(各種不同樣式)
以及文字組成的。
2.GDI+繪制文字
GDI+繪制文字有幾種,下面將分別示例。
(1)標准畫法:GdipDrawString
這是一般的畫文字的辦法,這種畫法支持 ClearTypeGridFit(還需要用語句再設置下),需要
創建 Font。
以下是主要繪圖部分(窗體):
Option Explicit
Dim graphics As Long, Brush As Long
Dim fontfam As Long, strformat As Long, curfont As Long, rclayout As RECTF
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
GdipCreateFontFamilyFromName StrPtr("黑體"), 0, fontfam
GdipCreateStringFormat 0, 0, strformat
GdipCreateSolidFill &HFFFF0000, Brush
GdipSetStringFormatAlign strformat, StringAlignmentNear
GdipCreateFont fontfam, 15, FontStyle.FontStyleItalic, UnitPixel, curfont
GdipSetTextRenderingHint graphics, TextRenderingHintClearTypeGridFit
rclayout.Left = 100
rclayout.Top = 100
rclayout.Right = 150
rclayout.Bottom = 150
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
GdipDrawString graphics, StrPtr("Hellow world! 這是我們第一個 GDI+文字~!!"), -1, curfont,
rclayout, strformat, Brush
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeleteFontFamily fontfam
GdipDeleteStringFormat strformat
GdipDeleteFont curfont
GdipDeleteBrush Brush
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
可以看到這種畫法思路是:
1.創建 FontFamily (StrPtr:獲取字符串指針,這樣就能支持中文了!這就是不用 TLB 的原
因……)
2.創建 stringFormat(一般也可以不創),設置樣式
3.創建 Font。其中一定要注意單位問題。否則不要問我進去 14 輸出的怎么不是 14px 大小文
字……這里我們字體樣式也巧妙了下,雖然聲明中可以改寫為 As FontStyle 但是不推薦。於
是我們寫就寫 FontStyle.xxx 這樣又可讀性高,又不會出錯。
4.創建 Brush(顯示文字咯)
5.設置文字區域(RcLayout)
6.繪制圖形
7.掃地工作
這樣 完美地畫出了字。
注意:rectf 中雖然是 right,bottom 但是實際上是 width height,不要被誤導喲。!
(2)路徑畫法:GdipAddPathString
這種畫法一般用於繪制旋轉文字、描邊的文字等等。雖然可以設置 graphics 的圓滑設置,但
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
是它畫出來的文字依然不怎么清晰(相對於第一種來說)
窗體中:
Option Explicit
Dim graphics As Long, Brush As Long, Pen As Long
Dim fontFam As Long, strFormat As Long, strPath As Long, rclayout As RECTL
Private Sub Form_Load()
InitGDIPlus
GdipCreateFromHDC Me.hDC, graphics
GdipSetSmoothingMode graphics, SmoothingModeAntiAlias
GdipCreateFontFamilyFromName StrPtr("Verdana"), 0, fontFam
GdipCreateStringFormat 0, 0, strFormat
GdipSetStringFormatAlign strFormat, StringAlignmentNear
GdipCreateSolidFill &HFFDEDEDE, Brush
GdipCreatePen1 &HFF222222, 2, UnitPixel, Pen
rclayout.Left = 10
rclayout.Top = 10
rclayout.Right = 200
rclayout.Bottom = 150
GdipCreatePath FillModeAlternate, strPath
GdipAddPathStringI strPath, StrPtr("描邊 0123"), -1, fontFam, FontStyle.FontStyleBold, 55,
rclayout, strFormat
GdipFillPath graphics, Brush, strPath
GdipDrawPath graphics, Pen, strPath
End Sub
Private Sub Form_Unload(Cancel As Integer)
GdipDeleteFontFamily fontFam
GdipDeleteStringFormat strFormat
GdipDeletePath strPath
GdipDeleteBrush Brush
GdipDeletePen Pen
GdipDeleteGraphics graphics '釋放 graphics 占用的內存
TerminateGDIPlus
End Sub
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
好 回來了 我們來比較一下這個畫法有什么好處。
看出來了 它可以描邊……恩 我不是在上面說了嘛 它還支持旋轉、合並等等。
對了 我還說過“畫出來不怎么清晰”,這里好像很好嘛!其實不然。如果你把描邊去掉,單
單 FillPath,並且把字號減小 比如 14,字體樣式為普通,你就會發現不清晰了~!
它的過程是這樣的:
1.首先前面部分和畫普通文字一樣 都需要創建 FontFamily 還有可選的創建字體對齊格式等
等。
2.接下來路徑畫法不需要創建 Font,我們需要創建(初始化)一個路徑,否則可是什么都沒
有哦~
3.然后我們需要把文字增加到 Path 中去。
4.我們要 FillPath 填充這個路徑 或者是 DrawPath 描出這個路徑。如果是實心文字自然就是
FillPath 咯
5.最后別忘了釋放 Pen(如果有)和 Brush(如果有) 以及最后一個 Path。
(3)底層畫法:GdipDrawDriverString
如名,底層畫法。這種畫法是最底層的繪制文字,底層到了……它不會自動轉換字體(比如
用 Verdana 繪制中文字體就不會顯示出來) 由於不常使用,這里不貼畫法了。
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
VB6 GDI+  入門教程[5]  基礎繪圖小結
終於……我們的基礎繪圖部分可以先告一段落了。什么叫基礎繪圖?畫線、畫圈圈、畫方塊、
畫字……等等。我們來總結一下。
我們第一點就是總結 DrawXXXX 和 FillXXXX。
1.DrawXXXX:描邊可以這么說 例如 DrawRectangle DrawPath。我們都需要一個 Pen(邊
框)來描繪它。
2.FillXXXX:填充。例如 FillRectangle 等等。我們需要的是 Brush。
我們第二點總結平滑(反鋸齒)——什么時候用 GdipSetTextRenderingHint,什么時候用
GdipSetSmoothingMode。
這里我很簡單的借用前面的結論告訴你:
1.凡是你要用 DrawXXXX 或者 FillXXXX 畫出來的,你要讓他平滑,你就要用
GdipSetSmoothingMode
2.其它的呢看它的類型,比如文字那么就是 GdipSetTextRenderingHint……(言下之意就是還
有其它的東西哦)
我們第三點總結 Brush 和 Pen。
1.Pen 是一只筆(- -||)。用於 DrawXXXX 的。描邊。你可以通過一個純色創建 Pen
(GdipCreatePen1),也可以通過一個 Brush 創建 Pen:GdipCreatePen2(比如說紋理 Pen,
漸變 Pen 等等,不過貌似 GDI+有點 BUG)
2.Brush 呢是刷子。我們有貼圖刷子,預置紋理刷子,純色刷子,漸變刷子,路徑刷子等等。
(1)貼圖刷:我們會在下一章深入探討
(2)純色刷:我們已經用過了,很簡單——給一個顏色,傳回一個 Brush。
(3)漸變刷:我們也用過了,跟純刷子差不多,給兩個顏色就可以了,還有一個漸變方向~~,
當然也是傳回一個 Brush
(4)路徑刷:這個刷子很高級 可以實現前面的(2)和(3)的刷子以及他們不能實現的內容——我
們可以按照路徑讓他去漸變……還有很多其它功能。這個嘛 以后有空我也會說的 呵呵
我們第四點總結路徑。
路徑我們雖然只借用到了文字路徑,但是如果你翻一下我提供的 API 大雜燴會發現 關於
Path 有很多有趣的東西。例如有添加直線路徑,添加圓弧路徑,添加曲線路徑,路徑合並,
路徑旋轉等等……很強大吧。
路徑,我們需要給他一個初始化好的 Path,然后按照各種需要給它參數;最后我們要把它畫
出來。
以后其它的路徑東西我們有空會探討。
最后再說下之前提過的一點:如果你發現復制了我的代碼 結果東西沒出來,那么請確保你
的窗體的 AutoRedraw=True。切記切記 不要忘記:)
 
         

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM