我有一个项目,它将varbinary(max)图像数据从sql server复制到msaccess ole对象,当我试图将这些图像绑定到VB6的图像控件时,它给出运行时错误481:图片无效,我也试过保存那些msaccess图像,他们得到了很好的保存,但当我试图在图像控制中加载这些图像时,他们给出相同的错误,以下是我的代码,附加是我的图像文件
Private Sub Form_Load()
Image1.Picture = LoadPicture("f:\tttt111.jpeg")
End Sub
以下是下载图片的网址 https://wetransfer.com/downloads/e2d4a91143507b3522bdd6632d69aa8b20161214051703/ae44f7
答案 0 :(得分:0)
这是因为你使用的是PNG文件,VB6不支持。支持的格式是Bitmap,Icon,Cursor,Metafile,JPEG和GIF。 More info here...
尝试将图片转换为JPEG格式,然后就可以了。
答案 1 :(得分:0)
我们已经有很长一段时间的WIA 2.0了。这里通过读取文件字节来模拟数据库数据:
Option Explicit
'
'Reference to: Microsoft Windows Image Acquisition Library v2.0
'
Private Sub Form_Load()
Dim F As Integer
Dim Bytes() As Byte
'Get data into Byte array:
F = FreeFile(0)
Open "oBSkm.png" For Binary Access Read As #F
ReDim Bytes(LOF(F) - 1)
Get #F, , Bytes
Close #F
With New WIA.Vector
.BinaryData = Bytes
Image1.Picture = .Picture
End With
With New WIA.ImageFile
.LoadFile "oBSkm.png"
Image2.Picture = .FileData.Picture
End With
End Sub
预装为Windows Vista及更高版本的一部分。曾作为SDK提供文档和redist版本,可安装到Windows XP SP1或更高版本中,但不再由Microsoft提供。你打盹,输了。
答案 2 :(得分:0)
我遇到了同样的问题,但我很高兴找到了有效的解决方案。对我来说这个问题的根源是图像尺寸比我试图放置图像的图像控件大,所以我所要做的就是将图像尺寸从 500 X 500 更改为 200 X 200 并在 vba excel 中出现错误 481(无效图片)已解决。