有没有bmp转png的vb代码呀,谢谢各位
vb吧
全部回复
仅看楼主
level 9
抠脽酝jq87 楼主
不要后缀名改一下就行了,最好改成png的算法
2020年09月04日 12点09分 1
level 9
抠脽酝jq87 楼主

@初音✨七奈 大佬求助,谢谢
2020年09月04日 12点09分 2
level 13
算法很难,必须要了解bmp的文件结构和png的文件结构,bmp比较简单,png的话还要了解zlib压缩算法,所以简单的方法就用GDI+函数转png,网上找下有代码
2020年09月04日 13点09分 3
level 1
Dim Img 'As ImageFile
Dim IP 'As ImageProcess
Set Img = CreateObject("WIA.ImageFile")
Set IP = CreateObject("WIA.ImageProcess")
Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp"
IP.Filters.Add IP.FilterInfos("Convert").FilterID
IP.Filters(1).Properties("FormatID").Value = wiaFormatPNG
IP.Filters(1).Properties("Quality").Value = 5
Set Img = IP.Apply(Img)
Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissCompressed.png"
2020年09月17日 16点09分 4
level 9
抠脽酝jq87 楼主
2020年09月17日 22点09分 5
你可以尝试添加如下引用:Microsoft Windows Image Acquisition Library v2.0,这样就可以包含对wiaFormatPNG这个常数值的定义了,我估计就是它没有正确定义的原因;或者,你也可以手动添加该值的定义:Const wiaFormatPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"
2020年09月18日 00点09分
level 1
miku_con是
正确的
。要么 添加引用 Microsoft Windows Image Acquisition Library v2.0
要么 添加 Const wiaFormatPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"
贴吧,没办法重新编辑,所以给你带来困扰了,对不起。
2020年09月18日 01点09分 6
level 13
上面的WIA.ImageFile对象,实际引用的也是GDI+函数(就是GDI+函数的封装),所以直接用GDI+函数做更合适
2020年09月18日 05点09分 7
level 13
1hijzjsgSYBDsB6fNdC6ztQ 提取码:1234
2020年09月18日 08点09分 8
1