1 / 36

第九章 繪 圖

Visual Basic 6.0 學習範本. 第九章 繪 圖. 屬性值. 說         明. 0. 使用者自訂。當改變 ScaleTop, ScaleLeft, ScaleHeight, ScaleWidth 值時,系統會自動設 ScaleMode = 0. 1. 以 Twip 為單位, 1 Twip = 1/1440 英吋 ( 預設值 ) 。. * 2. 以點 (Point) 為單位, 1 點 = 1/72 英吋。. 3. 以像素 (Pixel) 為單位,像素為螢幕上的基本單位。. 4.

coy
Download Presentation

第九章 繪 圖

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic 6.0 學習範本 第九章 繪 圖

  2. 屬性值 說         明 0 使用者自訂。當改變ScaleTop, ScaleLeft, ScaleHeight, ScaleWidth 值時,系統會自動設ScaleMode = 0 1 以Twip為單位,1 Twip = 1/1440英吋(預設值)。 *2 以點(Point)為單位,1點 = 1/72英吋。 3 以像素(Pixel)為單位,像素為螢幕上的基本單位。 4 以字元(Character)為單位,每個字元高1/6英吋,寬1/12英吋。 5 以英吋(inch)為單位。 6 以公厘(mm)為單位。 7 以公分(cm)為單位。 坐標單位 ScaleMode 屬性

  3. 屬 性 說      明 Left 表物件左界與母件左界的距離,其單位由母件而定。 Top 表物件上界與母件上界的距離,其單位由母件而定。 Width 表物件的寬度,其單位由母件而定。 Height 表物件的高度,其單位由母件而定。 *ScaleMode 在設定物件內部坐標系統的單位值。 Width=4000 Twips *ScaleLeft 在定義物件左上角坐標的X值,其值可以為負。 Left=1000 Twips Top=1000 Twips ScaleLeft=-100 ScaleTop= 100 *ScaleTop 在定義物件左上角坐標的Y值,其值可以為負。 左上角坐標 (-100, 100) Height=4000 Twips ScaleHeight=-200 *ScaleWidth 在定義物件X軸方向的長度。 (0,0) 右下角坐標 (100, -100) *ScaleHeight 在定義物件Y軸方向的長度。 ScaleWidth=200 ScaleLeft=-100

  4. 紅色小方塊ScaleMode=1(單位Twips) 藍色大方塊ScaleMode=6 (單位公厘) 比較使用ScaleMode=1與ScaleMode=6所繪圖形的差別。(程式碼請參照光碟)

  5. Scale 方法 語法:[物件.] Scale [(x1 ,y1 )-(x2 ,y2 )] 功能:設定物件內部坐標 【說明】 1.物件 :可以為表單、圖片方塊或印表機,若省略此參數     則預設為表單。 2.X1:ScaleLeft的屬性值。 y1:ScaleTop的屬性值。 x2 - x1:ScaleWidth的屬性值。 y2 - y1:ScaleHeight的屬性值。 3.Scale後面不加任何參數,而執行[物件.] Scale敘述,則 物件的內部坐標會還原成預設值(以ScaleMode=1)。 [例如] Form1.Scale(ScaleMode = 1以Twip為單位)

  6. CurrentX, CurrentY 屬性 語法:[物件.] CurrentX = X[物件.] CurrentY = Y 功能:設定欲顯示文字或圖形起始點之水平與垂直坐標 語法:X = [物件.] CurrentXY = [物件.] CurrentY 功能:取得目前坐標點所在的坐標值 【說明】 1. 物件:可為表單、圖片方塊或印表機,省略時代表表單。 2. CurrentX , CurrentY屬性只能在程式執行階段中設定,不 能在程式設計階段中設定。 3. 若在Line方法執行後,CurrentX,CurrentY是指直線終點  坐標。若在Circle方法後,是指圓心的坐標。

  7. 先設定直線的起點(200,600),再執行Line方法往右下方(500,2000) 位移的地方畫直線,然後將目前CurrentX , CurrentY的坐標值顯示出來。(程式碼請參照光碟)

  8. 顏色設定 利用QBColor函數,以條狀圖來顯示顏色代碼0-15所對應的顏色。(程式碼請參照光碟)

  9. 紅(R) 黃 紫 白 灰藍 綠(G) 藍(B) 使用 RGB 函數設定顏色 RGB (Red, Green, Blue) 函數共有三個引數,分別代表紅、綠、藍顏色光的強度,每個顏色值分別從0至255共分成256個階段,而每一個Byte可以表示數值0~255,紅、綠、藍三色各佔一個Byte,每一個Byte=8 Bits,因此每一個顏色可以用24 bits來表示,也就是「全彩」。 例如 RGB(255,0,0) 為紅色、RGB(0,255,0) 為綠色、RGB(0,0,255) 為藍色、RGB(255,0,255) 為紫色(紅+藍),其顏色合成原理如下圖所示:

  10. 物件 屬性 預設名稱 Name (物件名稱) Caption (標題) Max (最大值) Min (最小值) Form1 f9_2_2 f9_2_2RGB調色盤 - - Picture1 picRGB - - - HScroll1 hsbR - 255 0 HScroll2 hsbG - 255 0 HScroll3 hsbB - 255 0 Label1 lblR (預設值) - - lblR Label2 lblG (預設值) - - hsbR lblG Label3 lblB (預設值) - - hsbG picRGB lblB Command1 cmdEnd 結束 - - hsbB cmdEnd 利用三個水平捲軸,分別調整紅、綠、藍三原色的色階(0~255),並將調出的顏色及其RGB值分別顯示在表單上。(程式碼請參照光碟)

  11. 直接指定顏色值 Visual Basic是以十六進位(&H)的長整數來代表顏色,其格式為&HBBGGRR,其中BB、GG、RR分別表示藍,綠,紅的強度。RGB(255,0,0)為紅色,如改用十六進位表示則為&H0000FF。 【例】Picturel.BackColor = &H00FFFF(黃色)

  12. PSet 方法 語法:[物件.] PSet (x, y) [,Color] 功能:繪製一個指定顏色的點在表單、圖片方塊或印表機物件上。 【說明】 1. 執行PSet方法後,CurrentX及CurrentY會被設定為目前的 坐標值。例如: 執行PSet(100,200)後,則CurrentX=100,CurrentY=200。 2. 配合表單中DrawWidth屬性,可以繪出不同大小的點。 3. PSet方法用來清除某個特定點時,只要將Color引數值設 為BackColor即可。

  13. 繪製一條拋物線,其方程式:Y=X2 (X為整數且0≦X≦10)(程式碼請參照光碟) (0,20) (-20,20) (-20,0) (20,0) (0,0) (20,-20) (0,-20) 110

  14. Line 方法 語法:1.直線:[物件.] Line [(x1,y1)]-[Step](x2,y2) 2.方框:[物件.] Line [(x1,y1)]-[Step](x2,y2),[Color],B 3.方塊:[物件.] Line [(x1,y1)]-[Step](x2,y2),[Color],BF 功能:繪製直線,方框或方塊在表單、圖片方塊或印表機物件上。 1. x1,y1:線的起點;x2,y2: 線的終點;Color:使用RGB函數。 2. Line方法執行後,CurrentX, CurrentY是記錄直線的終點坐標。 [例如] Line (100,200)-(300,400) [說明] CurrentX變成300,CurrentY變成400。 3. Step的意義以直線的起點做相對位移。 [例如] Line (30,40)-Step(50,60) [說明] CurrentX = 30+50 = 80,CurrentY = 40+60 = 100。 4. 如果要畫頭尾相連的連續直線,便用Line-Step(x,y)是最佳  的方法。

  15. 屬性 說明 5. 加B表示畫方框:[例如] Line (50,50)-(150,150),RGB(255,0,0) , B[說明] 畫出以(50,50)、(150,150)為對角頂點的紅色方框。 6. 加BF表示畫方塊:[例如] Line (50,50) - (150,150) , RGB(255,0,0) , BF[說明] 畫出以(50,50)、(150,150)為對角頂 點的紅色實心方塊。 7.在表單或圖片方塊物件中,使用繪圖方法繪圖時常使用的屬 性如下: BackColor 物件的背景色。 ForeColor 物件的前景色。 DrawWidth 設定點或線條寬度。當DrawWidth>2時,DrawStyle的屬性0~4皆為實線效果。 DrawStyle 設定線條的樣式: =0實線(預設值)         =1破折線         =2點線         =3破折線+點線         =4破折線+點線+點線         =5透明             =6內實線 設定線條顯示效果 FillColor 填充條紋顏色 FillStyle 填充條紋的樣式 DrawMode

  16. DrawWidth=4DrawWidth=1 DrawWidth=1DrawStyle=3 DrawWidth=1DrawStyle=4 DrawWidth=1DrawStyle=0 DrawWidth=1DrawStyle=0 利用Line方法的引數變化,來繪製各種圖形(程式碼請參照光碟)

  17. Circle 方法 語法: 1.圓形:[物件.]Circle(x,y),r[,C]2.圓弧:[物件.]Circle(x,y),r,[C],d1,d23.扇形:[物件.]Circle(x,y),r,[C],-d1,-d24.橢圓:[物件.]Circle(x,y),r,[C],,,a5.橢圓弧:[物件.]Circle(x,y),r,[C],d1,d2,a 功能:繪製正圓、橢圓、弧線或扇形在指定的表單、圖片方塊或   印表機等物件上。 1.(x,y)為圓心坐標。 2.r為半徑。 3.C為顏色值。 4.d1為圓弧起點角度,以弳為單位,省略時內定為0。 d2為終點角度,省略時內定2π(π ~3.14159)。

  18. (900) 1/2π (1350) 3/4π 1/4π (450) 0π(00)或2π(3600) (1800) 1π (2250) 5/4π 7/4π (3150) 3/2π (2700) 5. 下圖為弳度與角度的對照圖: 6.如d1,d2前面加負號,則會由該角度的圓周上連一條線到 圓心,用此法可以繪製扇形。 7. a:軸向比,即垂直方向的半徑長除以水平方向半徑長值: j當a=1時畫出圓為正圓。 k當a>1時為瘦長的橢圓(垂直軸較長,r為垂直方向半徑長)。 l當a<1時則為扁平的橢圓(水平軸較長,r為水平半徑長)。

  19. 利用Circle方法中各項參數的設定來繪製圓的各類圖形。(程式碼請參照光碟)利用Circle方法中各項參數的設定來繪製圓的各類圖形。(程式碼請參照光碟)

  20. Point 方法 語法:[物件.] Point (x,y) 功能:取得表單或圖片方塊物件中特定點的顏色值。 【說明】 1.Point方法所取得的顏色值為長整數。 2.在繪圖軟體中常有吸取顏色的功能,就可以用本方法設計。 利用滑鼠讀取表單內任意點顏色的RGB值。(程式碼請參照光碟)

  21. LoadPicture函數 與SavePicture敘述 LoadPicture函數,將繪圖軟體所精心繪製的圖形檔或影像檔,直接載入表單或圖片方塊中;或是利用SavePicture敘述,可以將表單或圖片方塊內的圖形,以檔案方式存入磁碟機中,方便日後呼叫使用。 LoadPicture 函數 語法:[物件.] Picture = LoadPicture ([file_name]) 功能:將圖形檔載入表單、影像或圖片方塊中。 1.file_name是指要載入圖形的檔名,如果該檔不在目前的資料 夾下,必須加上路徑名稱,例如: Form1.Picture = LoadPicture ("A:\VB9\V9_7_1\ V9_7_1.bmp") 2.LoadPicture函數可載入.bmp、.ico或.wmf等格式的圖形檔。  如省略file_name,則會清除畫面。 下例是將物件名稱Image1的圖形清掉,例如:Image1.Picture = LoadPicture ( )

  22. SavePicture 敘述 語法:SavePicture [物件.]Image(Picture),file_name 功能:將表單或圖片方塊內的圖形儲存為檔案 1. 若沒有指定物件時,SavePicture將目前表單內的圖形以指定的檔 名存入磁碟機中。     例:SavePicture Image, "A:\Pic2.bmp“ 2. 透過SavePicture敘述儲存圖形的控制項時,其AutoRedraw屬性為 True。 3. 語法中Image和Picture要擇一使用,如指定為Image,儲存時以  Bitmap(.bmp)格式存檔;如指定為Picture,會以該物件原載入格式 存檔。  例如:picA圖片方塊在Picture屬性值中載入一個向量檔(*.wmf),    若以SavePicture picA.Picture, “TEST1”儲存,則TEST1會是    一向量圖檔;若以SavePicture picA.Image, “TEST2”儲存,    則TEST2會是點陣圖檔。

  23. App.Path 語法:App.Path 功能:取得目前程式所在的路徑 1. 程式所在的路徑為 D:\VB9\V9_2_2,則App.Path屬性值就”D:\ VB9\V9_2_2”,如果要使用LoadPicture來載入和程式同一個目 錄下的mouse.bmp圖形檔,可用下列方法: pic1 = LoadPicture(App.Path+”\mouse.bmp”) 2. 使用”/../”可得上一層的路徑,以下方法可以讀取程式所在目錄  的上一層目錄下的mouse.bmp圖檔: pic1 = LoadPicture(App.Path+”\..\mouse.bmp”) 假設程式在D:\VB9\V9_2_2目錄中,則上述指令會將D:\VB9\V9 _2_2\..\mouse.bmp載入pic1中,也就是載入D:\VB9\mouse.bmp。 3. 使用App.Path可以確保檔案存放在不同的磁碟機與目錄  時,依然可以讀取到正確目錄下的檔案。

  24. 物件 屬性 預設名稱 Name (物件名稱) Caption (標題) Font/大小 (字型大小) 先在左邊圖片方塊畫圖,如畫一個大嘴鳥,接著再按鈕將左圖存成圖形檔案,然後再按鈕將圖形載入所儲存的圖片,並放入右邊的圖片方塊中。 (程式碼請參照光碟) Form1 f9_7_1 f9_7_1存取圖形 12 Picture1 picLeft - 12 Picture2 picRight - 12 Command1 cmdCls 清圖 12 Command2 cmdSave 存圖 12 Command3 cmdLoad 讀圖 - Command4 cmdEnd 結束 - picLeft picRight cmdCls cmdEnd cmdSave cmdLoad

  25.    直線控制項   直線工具 直線 (Line) 「直線」控制項在設計階段可以直接用來產生不同樣式的線條,使得畫面顯得更加美觀,因為「直線」控制項只能繪圖,無法驅動任何事件,此特性和其它控制項極為不同。使用「直線」控制項可以在表單和圖片方塊中產生不同樣式的線條,移動表單或圖片方塊時線條亦會隨之移動。 直線控制項的建立

  26. 屬性 說明 BorderColor 設定線條的顏色。 BorderWidth 設定線條寬度。當BorderWidth大於1時,BorderStyle的屬性值只有0,1和6有效。 設定線條的樣式:=0透明=1實線(預設值)=2破折線=3點線=4破折線+點線=5破折線+點線+點線=6內實線 BorderStyle DrawMode 設定直線控制項顯示效果 X1 設定直線起點的X軸坐標。 Y1 設定直線起點的Y軸坐標。 X2 設定直線終點的X軸坐標。 Y2 設定直線終點的Y軸坐標。 設定直線控制項常用的屬性

  27. 直線控制項的應用 需要「直線控制項」的理由有下列幾點: 1.「直線控制項」是一個物件,設計階段便可看到結果。 2. 以Line方法所產生的直線,程式執行時才可看到結果。 以工具箱所產生的「直線控制項」,程式不必執行馬上  可以在表單上看到結果。 3. 執行Cls方法時,以Line方法所繪的線條都會被清除; 而「直線控制項」是不會清除仍然存在。 4.以「Line」方法繪完的線條若要修改必須由程式中去修 改,但是「直線控制項」在設計或執行階段均可隨時修 改其屬性值來改變線條的顏色、樣式、寬度等。

  28. 使用直線控制項,製作一個可以顯示實驗數據趨勢的程式。(程式碼請參照光碟)使用直線控制項,製作一個可以顯示實驗數據趨勢的程式。(程式碼請參照光碟) 1. 在表單上顯示一個坐標軸,上面有五個點代表實驗數 據在坐標 軸上的落點。 2.在表單另有一直線,移動滑鼠可以改變直線的位置。 3.拖曳滑鼠左鍵時,可以改變直線的長度和傾斜角度, 藉此可以估計第六組實驗數據的落點。

  29. 屬性 物件 預設名稱 Name (物件名稱) Caption (標題) BorderColor (邊界顏色) Form1 f9_8_1 f9_8_1 Line控制項 - linMove Line1 linMove - &H00FFFF00& Command1 cmdEnd 結束 - cmdEnd

  30. 形狀 (Shape) 「形狀」控制項可以不需利用Line,Circle等繪圖方法,便可以直接產生矩形、圓形、橢圓和圓角矩形等圖形,以美化畫面,「形狀」控制項和「直線」控制項一樣,無法驅動任何事件,僅供繪圖用,「形狀」控制項可以安置在表單或圖片方塊中,當移動表單或圖片方塊時,形狀所產生的控制項會隨之移動。

  31. 形狀控制項 形狀工具 形狀控制項的建立

  32. 屬性 說明 BackColor 設定形狀控制項的背景顏色 BackStyle 設定形狀控制項的背景形式 0-透明(預設值) 1-不透明 BorderColor 設定形狀控制項的輪廓顏色。 BorderStyle 設定形狀控制項的輪廓式樣,其值由0(預設值)~6。 BorderWidth 設定形狀控制項的輪廓寬度。 DrawMode 設定形狀控制項顯示的效果。 FillColor 設定形狀控制項內填充條紋的顏色。 FillStyle 設定形狀控制項內填充條紋的樣式。 Shape 設定形狀控制項的形狀樣式。 設定形狀控制項常用的屬性

  33. Shape值 說 明 矩形(預設值) 正方形 橢圓形 0 圓形 1 圓角矩形 2 圓角正方形 3 4 5 形狀控制項的應用 Shape 屬性

  34. FillStyle值 說 明 實心 1 透明(預設值) 0 2 水平線 3 垂直線 4 左上到右下的斜線 5 左下到右上的斜線 6 垂直交叉線 7 對角交叉線 FillStyle 屬性

  35. DrawMode值 說 明 1 黑色 2 NOT(背景色OR前景色) 3 背景色AND (NOT前景色) *4 NOT (前景色) 5 (NOT前景色)AND前景色 6 NOT(背景色) *7 前景色 XOR 背景色 8 NOT (背景色 AND 前景色) *9 背景色 AND 前景色 10 NOT (背景色 XOR 前景色) *11 沒有動作 12 背景色 OR (NOT前景色) *13 前景色(預設值) 14 (NOT 背景色) OR 前景色 *15 背景色 OR 前景色 16 白色 DrawMode 屬性

  36. DrawMode=9(And) DrawMode=4(反相) DrawMode=15(Or) DrawMode=11(透明) 觀察不同的DrawMode值,兩張圖形在畫面上重疊,呈現出不同的效果。 (程式碼請參照光碟)

More Related