VB如何读取一个图片,保存到字节数组中
推荐于2018-05-06 · 知道合伙人软件行家
VB6.0可以Open 语句来打开需要读到字节数组的图片文件,并用Get 语句将一个已打开的磁盘文件读入一个变量之中。
Open 语句,能够对文件输入/输出 (I/O)。
Get 语句,将一个已打开的磁盘文件读入一个变量之中。
实例代码,获取任何文件储存在字节数组aryContent中:
Private Sub Command1_Click()
Dim aryContent() As Byte
CommonDialog1.CancelError = True ' 设置“CancelError”为 True
On Error GoTo ErrHandler
CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置标志
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
CommonDialog1.FilterIndex = 2 ' 指定缺省的过滤器
CommonDialog1.ShowOpen ' 显示“打开”对话框
' 显示选定文件的名字
'MsgBox CommonDialog1.FileName
Open CommonDialog1.FileName For Binary As #1
ReDim aryContent(LOF(1) - 1)
Get #1, , aryContent
Close #1
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub
Sub ChangePictureData(PictureByteData() As Byte, PicturePath As String)
'使用方法:在调用此过程前,需提前定义好存放二进制数据的byte数组。
Dim FileLength As Long '定义字节长度
Dim SourceFile As Long '定义只读文件号
SourceFile = FreeFile()
Open Trim(PicturePath) For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
If FileLength = 0 Then
Close SourceFile
Else
ReDim PictureByteData(FileLength) '重新定义数据块的大小
Get SourceFile, , PictureByteData() '读到内存块中
Close SourceFile '关闭源文件
End If
End Sub