【问题标题】:Loadpicture giving Runtime-error 481: Invalid pictureLoadpicture 给 Runtime-error 481: Invalid picture
【发布时间】:2017-04-28 20:54:53
【问题描述】:

我有一个项目,它将 varbinary(max) 图像数据从 sql server 复制到 msaccess ole 对象,当我尝试将该图像绑定到 VB6 的图像控件时,它给出 Runtime-error 481: Invalid picture,我也尝试保存那些 msaccess 图像,它们保存得很好,但是当我尝试在图像控件中加载这些图像时,它们给出了相同的错误,以下是我的代码,附件是我的图像文件

Private Sub Form_Load()
Image1.Picture = LoadPicture("f:\tttt111.jpeg")
End Sub

以下是图片下载地址 https://wetransfer.com/downloads/e2d4a91143507b3522bdd6632d69aa8b20161214051703/ae44f7

【问题讨论】:

  • 如果它是一个真正正确的 JPEG 格式图像,您可能只是错误地将其写入磁盘并损坏了它。
  • 链接好像失效了?您可以将图像直接添加到您的问题中

标签: vb6


【解决方案1】:

这是因为您使用的是 PNG 文件,而 VB6 不支持该文件。支持的格式有位图、图标、光标、元文件、JPEG 和 GIF。 More info here...

尝试将图像转换为 JPEG,它会起作用。

【讨论】:

  • 实际上图片是 jpeg 但是当我上传到 stackoverflow 时他们将扩展名更改为 png,您可以使用以下网址下载图片。 wetransfer.com/downloads/…
  • @Amandeep 这是一个带有 JPEG 扩展名的 PNG 文件。您可以通过在此处上传文件checkfiletype.com 自行检查
【解决方案2】:

我们已经使用 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 提供,带有文档和可安装到 Windows XP SP1 或更高版本的 redist 版本,但 Microsoft 不再提供。你打盹,你就输了。

【讨论】:

【解决方案3】:

我遇到了同样的问题,但我很高兴找到了可行的解决方案。对我来说这个问题的根源是图像尺寸比我试图放置图像的图像控制太大,所以我所要做的就是将图像尺寸从 500 X 500 更改为 200 X 200 和 vba excel 中的错误 481(无效图片)已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2020-05-02
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多