Visual Basic 6 图像转换:从 GIF 到 JPG 或 TIF

4

语言:Visual Basic 6.

我想知道是否有一个开源或现有的微软图像库,可以让我将GIF(8位深度)图像转换为以下任一格式之一:JPG、TIF。

我目前正在使用Imaging for Windows V2.7 API。我最近才发现它不支持所有GIF类型的图像。

我发现99%的GIF图像都能被处理,但是请注意,该图像没有损坏,我可以用其他成像工具打开它。

谢谢。


请注意,我正在使用 Outlook.Attachment.SaveAsFile(fullPathToSaveTo)。当 Outlook 保存附件时,它就会变得无效。这可能是使用 API 时 Outlook 保存 GIF 图像的方式导致的。在通过 Outlook 之前,GIF 是完全正常打开的。 - Koekiebox
5个回答

2
我使用了Intel的JPEG库,采用这种方法,可以将PictureBox保存为JPEG格式。我在生产应用程序中使用此方法,效果非常好。

英特尔的JPEG库需要从英特尔获得特定许可证,而他们似乎不再提供新的许可证。 - Bob77

1

ImageMagick 是一款出色的免费开源图像处理软件包。你可以从 VB6 中使用 OLE(ActiveX)控件。我自己从来没有尝试过它 - 我总是使用 ImageMagick 命令行。我知道该控件只是采用普通的命令行。

将 gif 转换为 jpg 的转换命令应该是这样的。

convert my.gif my.jpg

编辑:ImageMagick是根据GPL许可证授权的:如果您使用该控件并重新分发您的程序,则可能需要使您的程序成为自由开源软件。显然,尚未经过法律测试是否动态链接到GPL库或控件会调用GPL。您始终可以启动ImageMagick命令行,这对我来说应该是安全的[我不是律师]。


如果发现VB6 PictureBox根据扩展名将加载的图像保存为JPEG或BMP格式。所以我所做的就是使用PictureBox加载图像,并使用 .JPG 扩展名保存图像。 - Koekiebox
1
@Koekiebox。抱歉,一旦您将图像加载到PictureBox控件中,SavePicture方法将仅将图片保存为BMP格式,而不考虑扩展名。请参阅我的帖子以了解如何处理此问题。 - AngryHacker

1

但它仅支持Windows XP。 - MarkJ
但它已经作为现代Windows版本操作系统的一部分预装了。 - Bob77
哦!+1,那你有链接吗? - MarkJ
如果您需要文档,则需要 Windows SDK,版本为 6.0 或更高版本,或者您可以在 http://msdn.microsoft.com/en-us/library/windows/desktop/ms630827(v=vs.85).aspx 上浏览。 - Bob77

0

0

使用 GDIPlus 库!它是 Windows 的标准库。
它可以转换为 JPG、BMP、ICO,甚至是 PNG、透明 PNG 等等...
尝试谷歌搜索使用 GDIPlus 库转换图像


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接