如何将“System.Drawing.Image”引入 DIB

tmi*_*hty 4 vb.net vb6 dib

我创建了一个可消耗的 COM 类库。

类库获取相机的图像。它的类型为图像/位图。

我在VB6中使用类库,我需要在VB6中显示这个图像。

如何将此 System.Drawing.Image 转换为 VB6 可以显示的内容?

我可以使用 DIB(使用 CreateDIBSection 等)吗?

如果是,System.Drawing.Image 究竟能转换成 DIB 吗?

谢谢!

Bri*_*ord 6

这是我过去所做的。首先,有几个先决条件:

  • 你从 COM 类库得到一个 Byte()
  • 您设置了对Microsoft Windows Image Aquisition Library的引用

有了这些,代码就非常简单了。 Camera是一个 COM 类库,其中该Retrieve方法返回一个 Byte(),它被加载到一个 Image 控件中:

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
Run Code Online (Sandbox Code Playgroud)