GDI+ 提供了用來處理點陣影像的 Bitmap 類別,以及用來處理向量影像的 Metafile 類別。Bitmap 和 Metafile 類別都繼承自 Image 類別。
- 7月 25 週五 200810:45
VB.NET 的GDI+ 繪圖_Metafile 類別
GDI+ 提供了用來處理點陣影像的 Bitmap 類別,以及用來處理向量影像的 Metafile 類別。Bitmap 和 Metafile 類別都繼承自 Image 類別。
- 7月 22 週二 200815:47
VB.NET 的GDI+ 繪圖_Bitmap 類別
- 7月 12 週六 200812:14
VB.NET 的GDI+ 繪圖_Brush 物件
設定紋路筆刷的樣式屬性時,也必須在前面加上Drawing2D,或是在程式開頭引用 Drawing2D 命名空間
Imports System.Drawing.Drawing2D
1. SolidBrush 純色筆刷
2. HatchBrush 紋路圖樣筆刷
3. TextureBrush 影像材質筆刷
4. LinearGradientBrush 漸層筆刷
5. PathGradientBrush 路徑漸層筆刷
- 7月 11 週五 200816:02
VB.NET 的GDI+ 繪圖_Pen 物件

Pen 是一個用來在 Graphics 畫布上繪製時,所使用的畫筆工具。
● 建立 Pen 物件的語法
Dim p As New Pen (Color.Blue, 4)
- 7月 11 週五 200812:12
VB.NET 的GDI+ 繪圖_Graphics 物件
Graphics是一個可以提供繪圖的物件,當建立一個Graphics物件後,透過繪圖命令可以在畫布上繪製出圖形來。
● CreateGraphics 方法 -- 建立Graphics物件的語法
- 6月 27 週五 200816:36
VB.NET 寫入二進位檔
方法一:
Dim mBinaryAry(4096) As Byte
Dim cnt As Integer
'也可以使用 OpenRead 方法來完成相同作業
Using fs As FileStream = IO.File.OpenRead(Application.StartupPath + "\myImg.jpg")
Dim fsout As IO.FileStream
fsout = IO.File.OpenWrite(Application.StartupPath + "\test.jpg")
' 另一種寫法,使用 Open 方法
Using fs As FileStream = IO.File.Open(Application.StartupPath + "\myImg.jpg", IO.FileMode.Open, IO.FileAccess.Read), fsout As FileStream = IO.File.OpenWrite(Application.StartupPath + "\test.jpg")
'每一次從圖形讀取 4096 個位元組
'Read 方法不僅可將讀取資料填入 Byte 陣列中,還會傳回實際讀取的位元組數
cnt = fs.Read(mBinaryAry, 0, 4096)
While cnt > 0 ' 判斷是否到達檔案的尾端
fsout.Write(mBinaryAry, 0, cnt)
cnt = fs.Read(mBinaryAry, 0, 4096)
End While
fsout.Flush()
fsout.Close()
End Using
- 6月 27 週五 200816:05
VB.NET 讀取二進位檔
(OpenRead 相當於 FileStream)
方法一:
Dim mBinaryAry() As Byte
Dim myImg As Image
Dim fs As IO.FileStream
Try
fs = IO.File.OpenRead(Application.StartupPath + "\myImg.jpg")
ReDim mBinaryAry(CInt(fs.Length - 1))
'用 Read 方法將部份或全部的資料複製到某 Byte 陣列中
fs.Read(mBinaryAry, 0, CInt(fs.Length))
'根據 Byte 陣列建立 MemoryStream 物件
Dim bf As New IO.MemoryStream(mBinaryAry)
bf.Position = 0
myImg = Image.FromStream(bf)
Me.BackgroundImage = myImg
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
If Not fs Is Nothing Then
fs.Close()
End If
End Try
方法二:
- 6月 26 週四 200814:30
大型物件 LOB ( Large Object )
CLOB ( Character Large Object ):以文字格式儲存在資料庫中。
NCLOB ( Unicode Character Large Object ):以 Unicode 編碼的文字格式儲存在資料庫中。
- 6月 25 週三 200815:49
VB.NET 表單上顯示圖片 --- RichTextBox 控制項
.Text = "你好!" & Environment.NewLine
Dim myImage As Image = Image.FromFile(Application.StartupPath + "\myImg.jpg")
Dim ido As IDataObject = New DataObject
ido.SetData(myImage)
'將圖片資料放到系統剪貼簿上(True 表示應用程式結束後,資料繼續保留在剪貼簿上)
Clipboard.SetDataObject(ido, True)
.SelectionStart = .Text.Length
.Paste()
.AppendText(Environment.NewLine & "再見囉~")
End With
- 6月 24 週二 200810:27
VB.NET 表單上 PictureBox 控制項
1. 先在表單上加入一個 PictureBox 控制項。
2. 將要顯示的圖形檔建立成一個 Image物件。
3. 將此 Image 物件指派給 PictureBox 控制項的 Image 屬性。
通常使用以下兩種方法:
(1) Image.FromFile (str_FileName)
從指定的圖形檔建立 Image 物件
(2) Image.FromStream (FileStream)
從指定的資料流建立 Image 物件
