1 / 40

第 6 章 多媒體

第 6 章 多媒體 . ScrollBar. 屬性 Value Maximum (defalut=100) Minimum (defalut=0) SmallChange(default=1) ‘ 微動鈕 LargeChange(default=10) ‘ 快動區. Private Sub HScrollBar1_Scroll(ByVal …….. ) Handles HScrollBar1.Scroll Dim temp As Integer temp = 376

caitir
Télécharger la présentation

第 6 章 多媒體

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. 第 6 章 多媒體

  2. ScrollBar • 屬性 • Value • Maximum (defalut=100) • Minimum (defalut=0) • SmallChange(default=1) ‘微動鈕 • LargeChange(default=10) ‘快動區 Private Sub HScrollBar1_Scroll(ByVal……..) Handles HScrollBar1.Scroll Dim temp As Integer temp = 376 PictureBox10.Width = temp * HScrollBar1.Value / 100 End Sub Private Sub VScrollBar1_Scroll(ByVal………) Handles VScrollBar1.Scroll Dim temp As Integer temp = 261 PictureBox10.Height = temp * VScrollBar1.Value / 100 End Sub

  3. TrackBar • 屬性 • Value • Maximum (defalut=10) • Minimum (defalut=0) • SmallChange(default=1) ‘微動鈕 • LargeChange(default=5) ‘快動區 • Orientation ‘水平或垂直 • TickFrequency ‘刻度距離 • TickStyle ‘設定外形 Private Sub TrackBar1_Scroll(ByVal……) Handles TrackBar1.Scroll Dim speed As Integer speed = TrackBar1.Value If speed <> 0 Then Timer2.Enabled = True Timer2.Interval = 100 / speed Else Timer2.Enabled = False End If End Sub

  4. Color • Color.FromArgb([A], R, G, B) • A:透明度(0:透明, 255:不透明) • R(紅)、G(綠)、B(藍):0~255 • Color.顏色 • Color.pink • Color.blue • 使用方法: • button1.backcolor=color.blue或 • button1.backcolor=color.fromargb(0,0,255) 調色盤 Private Sub NumericUpDown_ValueChanged(ByVal….) Handles NumericUpDown1.ValueChanged, NumericUpDown2.ValueChanged, NumericUpDown3.ValueChanged PictureBox11.BackColor = Color.FromArgb(NumericUpDown1.Value, NumericUpDown2.Value,NumericUpDown3.Value) End Sub

  5. 聲音(參考P.222~225) • My.Computer.audio(聲音檔, 播放方式) • 播放方式 • audioPlayMode.Background • audioPlayMode.WaittoComplete • audioPlayMode.BackgroundLoop • My.Computer.audio.stop() • 使用方法: • My.Computer.audio.play(“c:\ding.wav”,audioPlayMode.Background) • 只能播放WAV及系統音效

  6. Windows Media Player • 工具箱按滑鼠右鍵選擇項目com元件Windows Media Player • 控制撥放 • AxWindowsMediaPlayer1.Ctlcontrols.play() • AxWindowsMediaPlayer1.Ctlcontrols.pause() • AxWindowsMediaPlayer1.Ctlcontrols.stop() • AxWindowsMediaPlayer1.Ctlcontrols.previous() • AxWindowsMediaPlayer1.Ctlcontrols.next() Private Sub 影片ToolStripMenuItem_Click(ByVal) Handles 影片ToolStripMenuItem.Click AxWindowsMediaPlayer1.Visible = True AxWindowsMediaPlayer1.URL = path & "5.wmv" AxWindowsMediaPlayer1.Ctlcontrols.play() End Sub

  7. LinkLable • Process.start • 網址:Process.start(“tw.yahoo.com”) • 檔案:Process.start(“c:\windows\system32\mspaint.exe”) • 信箱:Process.start(“mailto:hsieh@cs.hccvs.hc.edu.tw”) Private Sub LinkLabel1_LinkClicked(ByVal ….) Handles LinkLabel1.LinkClicked Process.Start("www.youtube.com/watch?v=4zpqgq1ixRM") End Sub

  8. 一、繪圖控制項 • 繪圖控制項是指可使用繪圖方法來繪製幾何圖形或圖案的控制項,例如: • 表單(Form) • 圖片方塊(PictureBox) • 群組方塊(GroupBox)

  9. 表單工作區寬度為300 表單工作區高度為 在繪圖區域範圍內所繪製的圓形 超出繪圖區域範圍所繪製的圓形 300 二、繪圖區域(1/2) • 繪圖區域(工作區)是指繪圖控制項上可繪製圖形的區域,由Size屬性決定

  10. 二、繪圖區域(2/2) • 變更繪圖區域的大小 • 在屬性視窗修改Size屬性設定值 • 撰寫程式碼 • 語法:繪圖控制項名稱.Size = New System.Drawing.Size(寬度, 高度) • 例:Me.Size = New System.Drawing.Size(550, 400) 或 Me.Size=New Size(Width,Height)

  11. (0, 0) (100, 0) (200, 0) X 軸 繪圖區域 (0, 100) (200, 200) Y 軸 三、座標系統(1/2) • 繪圖區域的座標系統可用來表示圖形的位置 • 以繪圖區域的左上角為原點,水平方向為橫座標,垂直方向為縱座標,並以像素為座標單位

  12. 表單原點(0, 0) 圖片方塊 原點(0, 0) 120 起始點座 標(50, 50) 起始點座 標(50, 50) 120 120 120 三、座標系統(2/2) • 每一個繪圖區域都有其獨立的座標系統

  13. 四、容器內控制項的位置表示 • 設定控制項的Location屬性,可調整其在容器中的座標位置 設定控制項與其它控制項間的上、下、左、右最小間距

  14. Step2:按此鈕,縮小表單 Step1:在表單上按一下,即會顯示蝴蝶圖案 Step3:還原表單;蝴蝶圖案消失了 五、繪圖的事件(1/2) • Windows作業系統每隔一段時間只會重繪視窗及視窗元件,而不會重繪使用繪圖方法所繪製的圖案 • 對表單進行相關操作時,所繪製的圖案可能會因此消失

  15. 五、繪圖的事件(2/2) • 繪圖控制項的Paint事件是一種系統事件,會在作業系統重新繪製繪圖控制項時發生 • 我們應儘量將繪圖敘述撰寫在繪圖控制項的Paint事件程序中

  16. 六、線段與文字的繪製(1/7) • DrawLine( )方法可用來繪製直線 • 語法:Graphics物件.DrawLine(線條色彩, 線段起始點X座標值X1, 線段起始點Y座標值Y1, 線段終點X座標值X2, 線段終點Y座標值Y2) • 說明: • 在起始座標 (X1, Y1) 到終點座標 (X2, Y2) 間繪製一條直線 • 「線條色彩」參數是使用Pens類別提供的線條色彩屬性,來作為畫筆的色彩 • 範例:表單上繪製兩條相交的直線 Private SubForm1_Paint(ByValsender……)Handles Me.Paint '建立一個Graphics物件並將表單的繪圖介面指定給該物件graph DimgraphAsGraphics =Me.CreateGraphics '繪製由左往右斜的直線,顏色為藍色 graph.DrawLine(Pens.Blue, 15, 20, 270, 250) '繪製由右往左斜的直線,顏色為深綠色 graph.DrawLine(Pens.DarkGreen, 270, 20, 15, 250) End Sub

  17. 六、線段與文字的繪製(2/7) • DrawCurve( )方法可用來繪製曲線 • 語法:Graphics物件.DrawCurve(線條色彩, 座標陣列) • 說明: • 依照座標陣列中的座標,來繪製一條曲線 • 「線條色彩」參數是使用Pens類別提供的線條色彩屬性,來作為畫筆的色彩 • 「座標陣列」參數是用來存放所要繪製曲線的路徑座標值。它必須宣告為Point(點)結構 • 語法:Dim座標陣列名稱( ) As Point = {Point1, Point2, Point3, …} • 例:Dim Point1 As NewPoint(10, 10)Dim Point2 As NewPoint(40, 60)Dim Point3 As NewPoint(60, 30)Dim Point4 As NewPoint(80, 10)'宣告1個含有4個點座標的座標陣列Dim Points( ) AsPoint = {point1, point2, point3, point4}

  18. 六、線段與文字的繪製(3/7) • 範例:在表單上繪製一個打勾的曲線 Private SubForm1_Paint(ByValsender……)Handles Me.Paint DimgraphAsGraphics =Me.CreateGraphics '建立三個Point物件並設定其座標值 Dimpoint1As NewPoint(75, 150) Dimpoint2As NewPoint(120, 200) Dimpoint3As NewPoint(240, 40) '建立一個座標陣列並設定其包含Poin1~Point3 Dimpoints()AsPoint = {point1, point2, point3} '繪製一個打勾的曲線圖案 graph.DrawCurve(Pens.Purple, points) End Sub

  19. Pen類別 • 為了繪製出不同線條粗細的圖形,可宣告一個Pen類別的物件來指定線條粗細 • 語法:Dim Pen物件名稱As New Pen(色彩常數[, 線條粗細]) • 例:Dimgraph AsGraphics = Me.CreateGraphics'宣告一個藍色畫筆且畫筆寬度為2Dim bluepen As New Pen(Color.Blue, 2) graph.DrawLine(bluepen, 50, 50, 150, 100) bluepen.Width = 5 '重新定義畫筆的寬度為5

  20. Color Pen • Color.FromArgb([A], R, G, B) • A:透明度(0:透明, 255:不透明) • R(紅)、G(綠)、B(藍):0~255 • Color.顏色 • Color.pink • Color.blue • 使用方法: • Dim bluepen As New Pen(Color.Blue, 2) 或 • Dim bluepen As New Pen(color.fromargb(0,0,255), 2)

  21. 六、線段與文字的繪製(4/7) • DrawString( )方法可用來繪製文字 • 語法:Graphics物件.DrawString(繪製的文字, 字型, 筆刷色彩, 繪製起始點X座標值X1, 繪製起始點Y座標值Y1) • 說明: • 在起始座標(X1, Y1)繪製文字 • 在「繪製的文字」參數前後必須加上雙引號(“),標示所要繪製文字的範圍 • 「字型」參數是用來設定所要繪製文字的字型、字型樣式、及大小 • 「筆刷色彩」參數是用來設定所要繪製文字的色彩 • 範例: Private SubButton1_Click(ByValsender……)HandlesButton1.Click DimgraphAsGraphics =Me.CreateGraphics Me.Refresh()'清除表單上所繪製的圖形 graph.DrawString("眼睛",Me.Font, Brushes.Blue, 280, 100) End Sub

  22. 七、Font類別 • 為了使繪製文字的字型樣式更富變化,可宣告一個Font類別的物件來指定文字字型 • 語法:DimFont物件名稱As NewFont("字型"[, 大小, 字型樣式]) • 例:Dimgraph AsGraphics = Me.CreateGraphics Dim font1 As New Font("標楷體", 16, FontStyle.Bold) graph.DrawString("程式", font1, Brushes.Black, 80, 60)

  23. 八、幾何圖形的繪製(1/7) • DrawRectangle( )方法可用來繪製矩形 • 語法:Graphics物件.DrawRectangle(線條色彩, 矩形左上角的X座標值X1,矩形左上角的Y座標值Y1,矩形的寬度W, 矩形的高度H) • 說明: • 以座標(X1, Y1)為起始點,繪製一個寬為W、高為H的無填色矩形 • 「線條色彩」參數是使用Pens類別提供的線條色彩屬性,來作為畫筆的色彩 • 範例:在表單上繪製兩個矩形 Private SubForm1_Paint(ByValsender……)Handles Me.Paint DimgraphAsGraphics =Me.CreateGraphics '繪製兩個矩形 graph.DrawRectangle(Pens.Coral, 50, 50, 120, 120) graph.DrawRectangle(Pens.DarkGreen, 100, 100, 120, 120) End Sub

  24. 八、幾何圖形的繪製(2/7) • DrawEllipse( )方法可用來繪製圓形或橢圓形 • 語法:Graphics物件.DrawEllipse(線條色彩, 繪圖範圍) • 說明: • 在定義的繪圖範圍內,繪製一個無填色橢圓形或圓形 • 「繪圖範圍」參數必須宣告為Rectangle(矩形)資料型別 • 語法:Dim繪圖範圍名稱 As New Rectangle(矩形左上角的X座標值X1, 矩形左上角的Y座標值Y1, 矩形的寬度W, 矩形的高度H) • 例:Dim rect As New Rectangle(35, 35, 150, 200) • 「線條色彩」參數是使用System.Drawing類別下的Pens類別,來作為畫筆的色彩

  25. 八、幾何圖形的繪製(3/7) • 範例:在表單上繪製一個圓形及橢圓形 Private SubForm1_Paint(ByValsender……)Handles Me.Paint DimgraphAsGraphics =Me.CreateGraphics Dimrect1As NewRectangle(30, 100, 220, 50) '宣告一個橘色畫筆且畫筆寬度為3 DimdrawpenAs NewPen(Color.SandyBrown, 3) '繪製一個橘色的橢圓形 graph.DrawEllipse(drawpen, rect1) Dimrect2As NewRectangle(75, 60, 130, 130) '繪製一個咖啡色的圓形 graph.DrawEllipse(Pens.Brown, rect2) End Sub

  26. 八、幾何圖形的繪製(4/7) • DrawPolygon( )方法可用來繪製多邊形 • 語法:Graphics物件.DrawPolygon(線條色彩, 座標陣列) • 說明: • 依照座標陣列的座標,來繪製一個多邊形 • 「線條色彩」參數是使用Pens類別提供的線條色彩屬性,來作為畫筆的色彩 • 「座標陣列」參數是用來存放所要繪製多邊形的路徑座標值;須宣告為Point(點)結構

  27. 八、幾何圖形的繪製(5/7) • 範例:在表單上繪製一個五邊形 Private SubForm1_Paint(ByValsender……)Handles Me.Paint DimgraphAsGraphics =Me.CreateGraphics Dimpoint1As NewPoint(150, 40) Dimpoint2As NewPoint(60, 105) Dimpoint3As NewPoint(95, 195) Dimpoint4As NewPoint(205, 195) Dimpoint5As NewPoint(240, 105) Dimpoints()AsPoint = {point1, point2, point3, _ point4, point5} graph.DrawPolygon(Pens.Green, points)'繪製五邊形 End Sub

  28. 九、繪製填色圖案 • Fillrectangle( )方法可用來繪製填色矩形 • 語法:Graphics物件.FillRectangle(筆刷色彩, 矩形左上角的X座標值X1, 矩形左上角的Y座標值Y1, 矩形的寬度W, 矩形的高度H) • FillEllipse( )方法可用來繪製填色圓形或橢圓形 • 語法:Graphics物件.FillEllipse(筆刷色彩, 繪圖範圍) • FillPolygon( )方法可用來繪製填色多邊形 • 語法:Graphics物件.FillPolygon(筆刷色彩, 座標陣列) • 例: graph.DrawRectangle(Brushes.Coral, 50, 50, 120, 120)

  29. Brush類別 • 語法: • Dim brush物件名稱As NewSolidBrush (色彩常數) • Dim brush物件名稱As NewTextureBrush (bitmap) • 例:Dim c As New SolidBrush(Color.FromArgb(255,0, 0)) Dim d As New TextureBrush(New Bitmap("C:\Documents and Settings\user\桌面\dog pic\dog1.gif"))

  30. Color Brush • Color.FromArgb([A], R, G, B) • A:透明度(0:透明, 255:不透明) • R(紅)、G(綠)、B(藍):0~255 • Color.顏色 • Color.pink • Color.blue • 使用方法: • Dim b As NewSolidBrush(Color.blue))或 • Dim b As NewSolidBrush (color.fromargb(0,0,255))

  31. 十、點陣影像的建立 • Bitmap類別可用來建立相當於畫布的物件,以處理點陣影像 這是一個利用Bitmap物件來顯示楓葉點陣影像

  32. 十一、建立Bitmap物件(1/4) • 將點陣影像指定作為Bitmap物件的內容 • 將控制項所顯示的圖案指定給Bitmap物件 • 語法:Dim Bitmap物件名稱As New Bitmap(控制項名.Image) • 例:Dim bmpA As New Bitmap(PictureBox1.Image) PictureBox1所顯示的花朵圖案 bmpA

  33. 十一、建立Bitmap物件(2/4) • 將儲存在磁碟機中的影像圖檔指定給Bitmap物件 • 語法:Dim Bitmap物件名稱As New Bitmap("影像圖檔的路徑") • 例:Dim bmpB As New Bitmap("C:\我的圖片\flowers.jpg") 儲存在"C:\我的圖片" 資料夾下的花朵圖案 C磁碟機 bmpB

  34. 十一、建立Bitmap物件(3/4) • 設定Bitmap物件的大小 • 語法:Dim Bitmap物件名稱As New Bitmap(寬度大小, 高度大小) • 例:Dim bmpC As New Bitmap(800, 600) bmpC物件的大小為800 pixels x 600 pixels bmpC

  35. 十一、建立Bitmap物件(4/4) • 如何在表單上顯示Bitmap物件的內容 • 利用圖片方塊來顯示Bitmap物件中的點陣影像 • 例:Dim bmpD As New Bitmap("C:\Bird.jpg")PictureBox1.Image = bmpD Q:上 V.S. 下有何不同??? • 載入圖片的方法 • PictureBox1.Load(“c:\ch12\pig.fig”) • PictureBox1.Image=Image.FormFile(“c:\ch12\pig.fig”) • PictureBox1.Image=new Bitmap(“c:\ch12\pig.fig”)

  36. 十二、DrawImage( )方法 • 可用來繪製存放在Bitmap物件中的影像 • 語法:Graphics物件名稱.DrawImage(Bitmap物件, 繪製影像的起始點X座標值X1, 繪製影像的起始點Y座標值Y1) • 例:Dim graph As Graphics = Me.CreategraphicsDim bmpE As New Bitmap("C:\我的電腦\Tower.jpg")graph.DrawImage(bmpE, 280, 100)

  37. 十三、擷取影像(1/2) • Clone( )方法可用來取得畫布上的部分影像 • 語法:Bitmap物件2 = Bitmap物件1.Clone(擷取範圍, 影像格式) • 說明: • 將在Bitmap物件1中擷取到的局部影像,設定給Bitmap物件2 • 「擷取範圍」參數是用來設定要在Bitmap物件1中擷取的影像範圍大小;須宣告為Rectangle結構 • 「影像格式」參數是用來設定所要取得影像資料的格式;一般設為"PixelFormat"(即像素資料)

  38. 70 座標值為(30, 10) 70 使用Clone( )方法 bmpA的內容 bmpB的內容 十三、擷取影像(2/2) • 例:Dim rect As New Rectangel(30, 10, 70, 70)bmpB = bmpA.Clone(rect, bmpa.PixelFormat)

  39. 十四、去背處理(1/2) • MakeTransparent( )方法可用來去除畫布中之影像的背景色彩 • 語法:Bitmap物件名稱.MakeTransparent(色彩常數) • 說明: • 依據色彩常數所代表的色彩,將畫布物件中之影像含有該色彩的像素部分設為透明 • 「色彩常數」參數是用來指定要去除的背景色彩 • 只能去除單一的背景色彩

  40. 十四、去背處理(2/2) • 例:bmp.MakeTransparent(Color.Black) 背景色為黑色 去背處理 原bmp的內容

More Related