Dim p As New StdPicture
form:Dim b() As Byte
Private Sub Command1_Click()
Set p = LoadPicture("C:\WINNT\Coffee Bean.bmp")
b = PictureToBytes(p)
End SubPrivate Sub Command2_Click()
Image1.Picture = BytesToPicture(b())
End Sub
----------------------------
Module:Option Explicit' *** Den Artikel zu diesem Modul finden Sie unter http://www.aboutvb.de/khw/artikel/khwpicturetobytes.htm ***Public Function PictureToBytes(Picture As StdPicture, Optional Key As String = "Bild") As Byte()
With New PropertyBag
.WriteProperty Key, Picture
PictureToBytes = .Contents
End With
End FunctionPublic Function BytesToPicture(Bytes() As Byte, Optional Key As String = "Bild") As StdPicture
With New PropertyBag
.Contents = Bytes
Set BytesToPicture = .ReadProperty(Key)
End With
End FunctionPublic Function PictureCollectionToBytes(Collection As Collection, Optional CountKey As String = "Anzahl", Optional PicKey As String = "Bild") As Byte()
Dim l As Long
With New PropertyBag
.WriteProperty CountKey, Collection.Count, 0
For l = 1 To Collection.Count
.WriteProperty PicKey & l, Collection(l)
Next 'l
PictureCollectionToBytes = .Contents
End With
End FunctionPublic Function BytesToPictureCollection(Bytes() As Byte, Optional CountKey As String = "Anzahl", Optional PicKey As String = "Bild") As Collection
Dim l As Long
Dim nCollection As Collection
Set nCollection = New Collection
With New PropertyBag
.Contents = Bytes
For l = 1 To .ReadProperty(CountKey, 0)
nCollection.Add .ReadProperty(PicKey & l)
Next 'l
End With
Set BytesToPictureCollection = nCollection
End Function
form:Dim b() As Byte
Private Sub Command1_Click()
Set p = LoadPicture("C:\WINNT\Coffee Bean.bmp")
b = PictureToBytes(p)
End SubPrivate Sub Command2_Click()
Image1.Picture = BytesToPicture(b())
End Sub
----------------------------
Module:Option Explicit' *** Den Artikel zu diesem Modul finden Sie unter http://www.aboutvb.de/khw/artikel/khwpicturetobytes.htm ***Public Function PictureToBytes(Picture As StdPicture, Optional Key As String = "Bild") As Byte()
With New PropertyBag
.WriteProperty Key, Picture
PictureToBytes = .Contents
End With
End FunctionPublic Function BytesToPicture(Bytes() As Byte, Optional Key As String = "Bild") As StdPicture
With New PropertyBag
.Contents = Bytes
Set BytesToPicture = .ReadProperty(Key)
End With
End FunctionPublic Function PictureCollectionToBytes(Collection As Collection, Optional CountKey As String = "Anzahl", Optional PicKey As String = "Bild") As Byte()
Dim l As Long
With New PropertyBag
.WriteProperty CountKey, Collection.Count, 0
For l = 1 To Collection.Count
.WriteProperty PicKey & l, Collection(l)
Next 'l
PictureCollectionToBytes = .Contents
End With
End FunctionPublic Function BytesToPictureCollection(Bytes() As Byte, Optional CountKey As String = "Anzahl", Optional PicKey As String = "Bild") As Collection
Dim l As Long
Dim nCollection As Collection
Set nCollection = New Collection
With New PropertyBag
.Contents = Bytes
For l = 1 To .ReadProperty(CountKey, 0)
nCollection.Add .ReadProperty(PicKey & l)
Next 'l
End With
Set BytesToPictureCollection = nCollection
End Function
Dim image_data() As Byte
保存图片:
sub savePic()
Open "e:\1.bmp" For Binary As #1
ReDim image_data(LOF(1) - 1)
Get #1, , image_data()
Close #1
end sub
显示图片:
sub displayPic()
Open "e:\temp.bmp" For Binary As #1
Put #1, , image_data()
Close #1
img2.Picture = LoadPicture("e:\temp.bmp")
Kill "e:\kyp.bmp" '适当的时候删掉建立的临时文件
end sub
另解釋:
LibXCapture1 是一指紋控件,只有在LibXCapture1里能取到指紋并成圖后才能LibXCapture1..GetImageData(BufferBmp),但LibXCapture1..GetImageData(BufferBmp)成功,BufferBmp約為27KB左右的Byte數組
http://www.csdn.net/Dev/Format/#图形文件