第
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

第 6 章 多媒體 PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on
  • Presentation posted in: General

第 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

Download Presentation

第 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


6

第 6 章 多媒體


Scrollbar

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


Trackbar

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


Color

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


P 222 225

聲音(參考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及系統音效


Windows media player

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


Linklable

LinkLable

  • Process.start

    • 網址:Process.start(“tw.yahoo.com”)

    • 檔案:Process.start(“c:\windows\system32\mspaint.exe”)

    • 信箱:Process.start(“mailto:[email protected])

Private Sub LinkLabel1_LinkClicked(ByVal ….) Handles LinkLabel1.LinkClicked

Process.Start("www.youtube.com/watch?v=4zpqgq1ixRM")

End Sub


6

一、繪圖控制項

  • 繪圖控制項是指可使用繪圖方法來繪製幾何圖形或圖案的控制項,例如:

    • 表單(Form)

    • 圖片方塊(PictureBox)

    • 群組方塊(GroupBox)


6

表單工作區寬度為300

表單工作區高度為

在繪圖區域範圍內所繪製的圓形

超出繪圖區域範圍所繪製的圓形

300

二、繪圖區域(1/2)

  • 繪圖區域(工作區)是指繪圖控制項上可繪製圖形的區域,由Size屬性決定


6

二、繪圖區域(2/2)

  • 變更繪圖區域的大小

    • 在屬性視窗修改Size屬性設定值

    • 撰寫程式碼

      • 語法:繪圖控制項名稱.Size = New System.Drawing.Size(寬度, 高度)

      • 例:Me.Size = New System.Drawing.Size(550, 400) 或

        Me.Size=New Size(Width,Height)


6

(0, 0)

(100, 0)

(200, 0)

X 軸

繪圖區域

(0, 100)

(200, 200)

Y 軸

三、座標系統(1/2)

  • 繪圖區域的座標系統可用來表示圖形的位置

    • 以繪圖區域的左上角為原點,水平方向為橫座標,垂直方向為縱座標,並以像素為座標單位


6

表單原點(0, 0)

圖片方塊

原點(0, 0)

120

起始點座

標(50, 50)

起始點座

標(50, 50)

120

120

120

三、座標系統(2/2)

  • 每一個繪圖區域都有其獨立的座標系統


6

四、容器內控制項的位置表示

  • 設定控制項的Location屬性,可調整其在容器中的座標位置

設定控制項與其它控制項間的上、下、左、右最小間距


6

Step2:按此鈕,縮小表單

Step1:在表單上按一下,即會顯示蝴蝶圖案

Step3:還原表單;蝴蝶圖案消失了

五、繪圖的事件(1/2)

  • Windows作業系統每隔一段時間只會重繪視窗及視窗元件,而不會重繪使用繪圖方法所繪製的圖案

  • 對表單進行相關操作時,所繪製的圖案可能會因此消失


6

五、繪圖的事件(2/2)

  • 繪圖控制項的Paint事件是一種系統事件,會在作業系統重新繪製繪圖控制項時發生

  • 我們應儘量將繪圖敘述撰寫在繪圖控制項的Paint事件程序中


6

六、線段與文字的繪製(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


6

六、線段與文字的繪製(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}


6

六、線段與文字的繪製(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


6

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


Color pen

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)


6

六、線段與文字的繪製(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


6

七、Font類別

  • 為了使繪製文字的字型樣式更富變化,可宣告一個Font類別的物件來指定文字字型

    • 語法:DimFont物件名稱As NewFont("字型"[, 大小, 字型樣式])

    • 例:Dimgraph AsGraphics = Me.CreateGraphics Dim font1 As New Font("標楷體", 16, FontStyle.Bold) graph.DrawString("程式", font1, Brushes.Black, 80, 60)


6

八、幾何圖形的繪製(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


6

八、幾何圖形的繪製(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類別,來作為畫筆的色彩


6

八、幾何圖形的繪製(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


6

八、幾何圖形的繪製(4/7)

  • DrawPolygon( )方法可用來繪製多邊形

    • 語法:Graphics物件.DrawPolygon(線條色彩, 座標陣列)

    • 說明:

      • 依照座標陣列的座標,來繪製一個多邊形

      • 「線條色彩」參數是使用Pens類別提供的線條色彩屬性,來作為畫筆的色彩

      • 「座標陣列」參數是用來存放所要繪製多邊形的路徑座標值;須宣告為Point(點)結構


6

八、幾何圖形的繪製(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


6

九、繪製填色圖案

  • Fillrectangle( )方法可用來繪製填色矩形

    • 語法:Graphics物件.FillRectangle(筆刷色彩, 矩形左上角的X座標值X1, 矩形左上角的Y座標值Y1, 矩形的寬度W, 矩形的高度H)

  • FillEllipse( )方法可用來繪製填色圓形或橢圓形

    • 語法:Graphics物件.FillEllipse(筆刷色彩, 繪圖範圍)

  • FillPolygon( )方法可用來繪製填色多邊形

    • 語法:Graphics物件.FillPolygon(筆刷色彩, 座標陣列)

  • 例:

    graph.DrawRectangle(Brushes.Coral, 50, 50, 120, 120)


Brush

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"))


Color brush

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))


6

十、點陣影像的建立

  • Bitmap類別可用來建立相當於畫布的物件,以處理點陣影像

這是一個利用Bitmap物件來顯示楓葉點陣影像


Bitmap 1 4

十一、建立Bitmap物件(1/4)

  • 將點陣影像指定作為Bitmap物件的內容

    • 將控制項所顯示的圖案指定給Bitmap物件

      • 語法:Dim Bitmap物件名稱As New Bitmap(控制項名.Image)

      • 例:Dim bmpA As New Bitmap(PictureBox1.Image)

PictureBox1所顯示的花朵圖案

bmpA


Bitmap 2 4

十一、建立Bitmap物件(2/4)

  • 將儲存在磁碟機中的影像圖檔指定給Bitmap物件

    • 語法:Dim Bitmap物件名稱As New Bitmap("影像圖檔的路徑")

    • 例:Dim bmpB As New Bitmap("C:\我的圖片\flowers.jpg")

儲存在"C:\我的圖片" 資料夾下的花朵圖案

C磁碟機

bmpB


Bitmap 3 4

十一、建立Bitmap物件(3/4)

  • 設定Bitmap物件的大小

    • 語法:Dim Bitmap物件名稱As New Bitmap(寬度大小, 高度大小)

    • 例:Dim bmpC As New Bitmap(800, 600)

bmpC物件的大小為800 pixels x 600 pixels

bmpC


Bitmap 4 4

十一、建立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”)


Drawimage

十二、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)


6

十三、擷取影像(1/2)

  • Clone( )方法可用來取得畫布上的部分影像

    • 語法:Bitmap物件2 = Bitmap物件1.Clone(擷取範圍, 影像格式)

    • 說明:

      • 將在Bitmap物件1中擷取到的局部影像,設定給Bitmap物件2

      • 「擷取範圍」參數是用來設定要在Bitmap物件1中擷取的影像範圍大小;須宣告為Rectangle結構

      • 「影像格式」參數是用來設定所要取得影像資料的格式;一般設為"PixelFormat"(即像素資料)


6

70

座標值為(30, 10)

70

使用Clone( )方法

bmpA的內容

bmpB的內容

十三、擷取影像(2/2)

  • 例:Dim rect As New Rectangel(30, 10, 70, 70)bmpB = bmpA.Clone(rect, bmpa.PixelFormat)


6

十四、去背處理(1/2)

  • MakeTransparent( )方法可用來去除畫布中之影像的背景色彩

    • 語法:Bitmap物件名稱.MakeTransparent(色彩常數)

    • 說明:

      • 依據色彩常數所代表的色彩,將畫布物件中之影像含有該色彩的像素部分設為透明

      • 「色彩常數」參數是用來指定要去除的背景色彩

      • 只能去除單一的背景色彩


6

十四、去背處理(2/2)

  • 例:bmp.MakeTransparent(Color.Black)

背景色為黑色

去背處理

原bmp的內容


  • Login