我已经创建了一个可消耗的COM类库。
类库获取相机的图像。它的类型是图像/位图。
我使用VB6中的类库,并且我需要在VB6中显示此图像。
如何将此System.Drawing.Image转换为VB6可以显示的内容?
我可以使用DIB(使用CreateDIBSection等(吗?
如果是,System.Drawing.Image转换为DIB的精确程度如何?
谢谢!
以下是我过去所做的。首先,有几个先决条件:
- 您可以从COM类库中获得Byte((
- 您设置了对Microsoft Windows图像采集库的引用
有了这些,代码就非常简单了。Camera
是COM类库,其中Retrieve
方法返回加载到Image控件中的Byte((:
Option Explicit
Private Sub cmdLoad_Click()
Dim cam As Camera.Image
Set cam = New Camera.Image
Image1.Picture = LoadPictureFromByteArray(cam.Retrieve())
End Sub
Private Function LoadPictureFromByteArray(Image() As Byte) As StdPicture
Dim vec As WIA.Vector
Set vec = New WIA.Vector
vec.BinaryData = Image
Set LoadPictureFromByteArray = vec.ImageFile.FileData.Picture
End Function