一、旋转翻转过滤器:旋转图片
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("RotateFlip").FilterID IP.Filters(1).Properties("RotationAngle") = 90 Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Bliss90.bmp"
二、裁剪滤镜:裁剪图片
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("Crop").FilterID IP.Filters(1).Properties("Left") = Img.Width \ 4 IP.Filters(1).Properties("Top") = Img.Height \ 4 IP.Filters(1).Properties("Right") = Img.Width \ 4 IP.Filters(1).Properties("Bottom") = Img.Height \ 4 Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissCrop.bmp"
三、缩放滤镜:调整图像的大小
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("Scale").FilterID IP.Filters(1).Properties("MaximumWidth") = 100 IP.Filters(1).Properties("MaximumHeight") = 100 Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissThumb.bmp"
四、邮票过滤器:邮票在另一个图片一个图片
Dim Thumb 'As ImageFile Dim Img 'As ImageFile Dim IP 'As ImageProcess Set Img = CreateObject("WIA.ImageFile") Set Thumb = CreateObject("WIA.ImageFile") Set IP = CreateObject("WIA.ImageProcess") Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" Thumb.LoadFile "C:\WINDOWS\Web\Wallpaper\BlissThumb.bmp" IP.Filters.Add IP.FilterInfos("Stamp").FilterID Set IP.Filters(1).Properties("ImageFile") = Thumb IP.Filters(1).Properties("Left") = Img.Width - Thumb.Width IP.Filters(1).Properties("Top") = Img.Height - Thumb.Height Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissStamp.bmp"
五、EXIF过滤器:写一个新的标题标签图像
Dim Img 'As ImageFile Dim IP 'As ImageProcess Dim v 'As Vector Set Img = CreateObject("WIA.ImageFile") Set IP = CreateObject("WIA.ImageProcess") Set v = CreateObject("WIA.Vector") Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Autumn.jpg" IP.Filters.Add IP.FilterInfos("Exif").FilterID IP.Filters(1).Properties("ID") = 40091 IP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType v.SetFromString "This Title tag written by Windows Image Acquisition Library v2.0" IP.Filters(1).Properties("Value") = v Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\AutumnExif.jpg"
六、帧过滤器:创建一个多页TIFF三种图片
Dim Img 'As ImageFile Dim Page2 'As ImageFile Dim Page3 'As ImageFile Dim IP 'As ImageProcess Dim v 'As Vector Set Img = CreateObject("WIA.ImageFile") Set Page2 = CreateObject("WIA.ImageFile") Set Page3 = CreateObject("WIA.ImageFile") Set IP = CreateObject("WIA.ImageProcess") Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" Page2.LoadFile "C:\WINDOWS\Web\Wallpaper\Azul.jpg" Page3.LoadFile "C:\WINDOWS\Web\Wallpaper\Autumn.jpg" IP.Filters.Add IP.FilterInfos("Frame").FilterID Set IP.Filters(IP.Filters.Count).Properties("ImageFile") = Page2 IP.Filters.Add IP.FilterInfos("Frame").FilterID Set IP.Filters(IP.Filters.Count).Properties("ImageFile") = Page3 IP.Filters.Add IP.FilterInfos("Convert").FilterID IP.Filters(IP.Filters.Count).Properties("FormatID") = wiaFormatTIFF Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Bliss.tif" Img.ActiveFrame = Img.FrameCount Set v = Img.ARGBData Set Img = v.ImageFile(Img.Width, Img.Height) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Autumn.bmp"
七、ARGB过滤器:创建一个修改版本的图片
Dim Img 'As ImageFile Dim IP 'As ImageProcess Dim v 'As Vector Dim i 'As Long Set Img = CreateObject("WIA.ImageFile") Set IP = CreateObject("WIA.ImageProcess") Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" Set v = Img.ARGBData For i = 1 To v.Count Step 21 v(i) = &HFFFF00FF 'opaque pink (A=255,R=255,G=0,B=255) Next IP.Filters.Add IP.FilterInfos("ARGB").FilterID Set IP.Filters(1).Properties("ARGBData") = v Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissARGB.bmp"
八、从另一个文件转换过滤器:创建一个压缩的JPEG文件
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 = wiaFormatJPEG IP.Filters(1).Properties("Quality").Value = 5 Set Img = IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissCompressed.jpg"
转自:http://technet.microsoft.com/zh-cn/ms630819(zh-cn,VS.85).aspx