首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用VBA实现图片格式的转换

引言

如果要进行图片格式转换,有两种常见方法:

(1)第三方转换工具。但第三方工具可能会在转换后的图片增加水印,并不一定满足个人需求。

(2)系统自带的“画图”工具。只要用“画图”工具打开要转换的图片,然后另存为指定格式的图片,就可以完成转换了。缺憾的是,如果要进行批量图片的格式转换,操作就比较繁琐了。

无论以上哪种方法,都不能满足我们对图片格式转换的特定需求。因此,这里提供了另一个解决方案------VBA。

实现思路

1.声明并创建WIA.ImageFile和WIA.ImageProcess对象;

2.定义常用的图片格式标识符常量;

3.加载要转换的图片;

4.添加转换滤镜;

5.应用转换滤镜;

6.保存转换后的图片;

7.释放资源。

VBA代码

Sub 实现图片格式转换() Dim wiaImg As Object Dim wiaImgPro As Object Set wiaImg = CreateObject("WIA.ImageFile") Set wiaImgPro = CreateObject("WIA.ImageProcess") '定义各种图片类型的格式标识符 Const guidBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}" Const guidPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}" Const guidGIF = "{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}" Const guidJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}" Const guidTIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}" '加载图片文件 wiaImg.LoadFile "C:\VBAMatrix\IMG_520.PNG" '增加转换的滤镜效果 wiaImgPro.Filters.Add wiaImgPro.FilterInfos("Convert").FilterID '设置滤镜的图片格式标识符 wiaImgPro.Filters(1).Properties("FormatID").Value = guidJPEG '应用转换滤镜 Set wiaImg = wiaImgPro.Apply(wiaImg) '保存文件 wiaImg.SaveFile "C:\VBAMatrix\IMG_520.jpeg" '释放资源 Set wiaImgPro = Nothing Set wiaImg = NothingEnd Sub

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Os95jCI172MgHl-TWXwcFZRA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券