將來源圖檔資料寫入到另一個圖檔。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 控制項的圖片資料寫入一個圖檔

創作者介紹
創作者 tsuozoe 的頭像
tsuozoe

隨便寫寫的新天地

tsuozoe 發表在 痞客邦 留言(0) 人氣()