將來源圖檔資料寫入到另一個圖檔。File 類別與 FileInfo 物件都有 OpenWrite 方法能夠開啟指定的檔案來寫入,並傳回指向該檔案的 FileStream 物件。其另外還擁有一個 Open 方法,此方法的功能涵蓋了 OpenRead 與 OpenWrite 方法。
方法一:
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
|
方法二:(Visual Basic 2005 .NET Framework2.0 新增)
My.Computer.FileSystem.WriteAllBytes( _ Application.StartupPath + "\test123.jpg", _ My.Computer.FileSystem.ReadAllBytes(Application.StartupPath + "\myImg.jpg"), _ False)
|
方法三:(Visual Basic 2005 .NET Framework2.0 新增)
IO.File.WriteAllBytes( _ Application.StartupPath + "\test123.jpg", _ IO.File.ReadAllBytes(Application.StartupPath + "\myImg.jpg"), _ False)
|
請參考:將顯示到 PictureBox 控制項的圖片資料寫入一個圖檔。
留言列表