注意:我不是一个VB6程序员--我是一个安卓程序员,负责一个在制造业使用的应用程序,我有一个同事负责一个与我的安卓设备对话的VB6程序。
过去我们的VB6程序将微软的.bmps发送到安卓设备上,但现在我们将平板电脑添加到我们的产品列表中,并希望发送更大的图像来利用平板电脑的额外空间,我们发现.bmp文件太大了,导致网络堵塞。
最终,我们将用JPEG1替换旧的VB6产品,但在此之前,VB6有没有办法通过编程将位图转换为.Net格式?我的同事不知道有这样的问题,但我总是发现S.O.在我的域名(安卓,.Net)中非常有用,所以我想在这里尝试一个VB6问题。
发布于 2012-07-04 14:00:02
2002年,微软发布了Windows® Image Acquisition Automation Library v2.0 Tool: Image acquisition and manipulation component for VB and scripting。
这可以从文件或字节数组中接受.BMP,甚至是原始的Windows24位像素位图(加上宽度和高度),并将它们转换为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"发布于 2012-07-04 04:05:58
上面MarkJ的链接值得一看,但这里还有其他三个想法需要考虑:
FreeImage是一个开源库;有一个下载包,其中包含一个可供VB6使用的DLL。
VB Helper链接指向一篇通过VB.NET动态链接库从VB6使用.NET的文章。
最后,MVPS链接是使用GDI+将图像保存为JPG的VB6代码。
发布于 2013-05-28 05:50:48
是的,它可以!请参阅这篇关于Planet源代码的优秀贡献
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=50065&lngWId=1
https://stackoverflow.com/questions/11315840
复制相似问题