設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

tag 標簽: WIA的用法

相關帖子

版塊 作者 回復/查看 最后發(fā)表

沒有相關內(nèi)容

相關日志

分享 VB、VBA、VBS簡易的圖像處理 Windows Image Acquisition (WIA) 的用法
熱度 1 ganlinlao 2015-2-13 23:18
WIA在處理圖像上還是提供了不少簡易的方式方法,先記在這里,以備不時之需。 一、 旋轉(zhuǎn) 翻轉(zhuǎn) 過濾器: 旋轉(zhuǎn)圖片 DimImg'AsImageFile DimIP'AsImageProcess SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" IP.Filters.AddIP.FilterInfos( "RotateFlip" ).FilterID IP.Filters( 1 ).Properties( "RotationAngle" )= 90 SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Bliss90.bmp" 二、 裁剪 濾鏡: 裁剪 圖片 DimImg'AsImageFile DimIP'AsImageProcess SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" IP.Filters.AddIP.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 SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissCrop.bmp" 三、縮放濾鏡 : 調(diào)整圖像的大小 DimImg'AsImageFile DimIP'AsImageProcess SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" IP.Filters.AddIP.FilterInfos( "Scale" ).FilterID IP.Filters( 1 ).Properties( "MaximumWidth" )= 100 IP.Filters( 1 ).Properties( "MaximumHeight" )= 100 SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissThumb.bmp" 四、 圖章 過濾器: 一個 圖片上蓋上另 一個 圖章 DimThumb'AsImageFileDimImg'AsImageFile DimIP'AsImageProcess SetImg=CreateObject( "WIA.ImageFile" ) SetThumb=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" Thumb.LoadFile "C:\WINDOWS\Web\Wallpaper\BlissThumb.bmp" IP.Filters.AddIP.FilterInfos( "Stamp" ).FilterID SetIP.Filters( 1 ).Properties( "ImageFile" )=Thumb IP.Filters( 1 ).Properties( "Left" )=Img.Width-Thumb.Width IP.Filters( 1 ).Properties( "Top" )=Img.Height-Thumb.Height SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissStamp.bmp" 五、EXIF 過濾器: 寫 一個新的標題 標簽 圖像(文字水。 DimImg'AsImageFile DimIP'AsImageProcess Dimv'AsVector SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Setv=CreateObject( "WIA.Vector" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Autumn.jpg" IP.Filters.AddIP.FilterInfos( "Exif" ).FilterID IP.Filters( 1 ).Properties( "ID" )= 40091 IP.Filters( 1 ).Properties( "Type" )=VectorOfBytesImagePropertyType v.SetFromString "ThisTitletagwrittenbyWindowsImageAcquisitionLibraryv2.0" IP.Filters( 1 ).Properties( "Value" )=v SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\AutumnExif.jpg" 六、幀過濾器 : 創(chuàng)建一個 多頁TIFF 三種 圖片 DimImg'AsImageFile DimPage2'AsImageFile DimPage3'AsImageFile DimIP'AsImageProcess Dimv'AsVector SetImg=CreateObject( "WIA.ImageFile" ) SetPage2=CreateObject( "WIA.ImageFile" ) SetPage3=CreateObject( "WIA.ImageFile" ) SetIP=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.AddIP.FilterInfos( "Frame" ).FilterID SetIP.Filters(IP.Filters.Count).Properties( "ImageFile" )=Page2 IP.Filters.AddIP.FilterInfos( "Frame" ).FilterID SetIP.Filters(IP.Filters.Count).Properties( "ImageFile" )=Page3 IP.Filters.AddIP.FilterInfos( "Convert" ).FilterID IP.Filters(IP.Filters.Count).Properties( "FormatID" )=wiaFormatTIFF SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Bliss.tif" Img.ActiveFrame=Img.FrameCount Setv=Img.ARGBData SetImg=v.ImageFile(Img.Width,Img.Height) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\Autumn.bmp" 七、ARGB 過濾器: 創(chuàng)建一個 修改版本 的 圖片 DimImg'AsImageFile DimIP'AsImageProcess Dimv'AsVector Dimi'AsLong SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" Setv=Img.ARGBData Fori= 1 Tov.CountStep 21 v(i)=HFFFF00FF'opaquepink(A= 255 ,R= 255 ,G= 0 ,B= 255 ) Next IP.Filters.AddIP.FilterInfos( "ARGB" ).FilterID SetIP.Filters( 1 ).Properties( "ARGBData" )=v SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissARGB.bmp" 八、從圖片格式 轉(zhuǎn)換 : 創(chuàng)建一個壓縮的 JPEG 文件 '沒有添加引用Microsoft Windows Image Acquisition Library v2.0的話 Const wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}" Const wiaFormatPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}" Const wiaFormatGIF = "{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}" Const wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}" Const wiaFormatTIFF = "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}" DimImg'AsImageFile DimIP'AsImageProcess SetImg=CreateObject( "WIA.ImageFile" ) SetIP=CreateObject( "WIA.ImageProcess" ) Img.LoadFile "C:\WINDOWS\Web\Wallpaper\Bliss.bmp" IP.Filters.AddIP.FilterInfos( "Convert" ).FilterID IP.Filters( 1 ).Properties( "FormatID" ).Value=wiaFormatJPEG IP.Filters( 1 ).Properties( "Quality" ).Value= 5 SetImg=IP.Apply(Img) Img.SaveFile "C:\WINDOWS\Web\Wallpaper\BlissCompressed.jpg"
個人分類: vb入門|6621 次閱讀|1 個評論

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-17 00:27 , Processed in 0.063324 second(s), 13 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部