VB6可以将图像保存为JPEG吗?

时间:2012-07-03 17:11:58

标签: image vb6 bitmap jpeg

注意:我不是VB6程序员 - 我是一名Android程序员,负责制造中使用的应用程序,我有一位同事负责与我的Android设备对话的VB6程序。

过去我们的VB6程序将Microsoft .bmps发送到Android设备,但现在我们正在为我们的产品列表添加平板电脑,并希望发送更大的图像以利用平板电脑的额外房地产我们发现.bmp太大了,堵塞了网络。

最终我们用.Net替换旧的VB6产品,但在我们做之前,VB6是否有办法以编程方式将位图转换为JPEG?我的同事不知道一个,但我总是找到S.O.在我的域(Android,.Net)中非常有用,所以我想我在这里尝试VB6问题。

4 个答案:

答案 0 :(得分:4)

2002年,微软发布了Windows® Image Acquisition Automation Library v2.0 Tool: Image acquisition and manipulation component for VB and scripting

这可以从文件或字节数组接受.BMP甚至原始Windows 24位像素位图(加上宽度和高度)并将它们转换为JPEG,从而生成文件或字节数组结果。

该库是Windows现代版本的一部分,但可以安装到WinXP(SP1或更高版本)中。

简单的文件到文件示例:

Dim ImgF As WIA.ImageFile
Dim ImgP As WIA.ImageProcess

Set ImgF = New WIA.ImageFile
ImgF.LoadFile "Zapotec.bmp"
Set ImgP = New WIA.ImageProcess
With ImgP
    .Filters.Add .FilterInfos!Convert.FilterID
    .Filters.Item(1).Properties!FormatID.Value = wiaFormatJPEG
    .Filters.Item(1).Properties!Quality.Value = 70
    Set ImgF = .Apply(ImgF)
End With
ImgF.SaveFile "Zapotec.jpg"

答案 1 :(得分:0)

MarkJ上面的链接值得一看,但这里还有其他三个想法:

FreeImage是一个开源库;有一个下载,其中包含一个可供VB6使用的DLL。

VB Helper链接是指通过VB.NET DLL从VB6使用.NET的文章。

最后,MVPS链接是VB6代码,用于使用GDI +将图像保存到JPG。

答案 2 :(得分:0)

是的,它可以!在Planet source Code上看到这个出色的贡献

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=50065&lngWId=1

答案 3 :(得分:0)

Bob77的优秀答案让我走上正轨,但下载链接已不再可用。自Vista以来,微软已经在Windows中加入了WIA支持。

有关详细信息,请参阅Microsoft's Windows Image Acquisition Automation Layer page

我发现代码片段的初始部分需要调整以引用捆绑的WIA类,现在称为WIACtl。

Dim ImgF As WIACtl.ImageFile
Dim ImgP As WIACtl.ImageProcess

Set ImgF = New WIACtl.ImageFile
ImgF.LoadFile "Zapotec.bmp"
Set ImgP = New WIACtl.ImageProcess
相关问题