Classic ASP 圖形處理(合併)使用 ImageMagick
平台:IIS10+Classic asp 3.0
安裝 ImageMagick For IIS的套件
目的
以圖片B作為背景圖,將圖片A合併於圖片B的正中央
準備:
圖片A 為任意解析度圖片
圖片B 為一張 640x480的圖片,作為底圖
流程說明:
A.先使用"-adaptive-resize"將圖片A轉為符合 640x480 的圖片 (-adaptive-resize將自動判定高度寬度,不會變形,不會裁減)
B.然後再使用"-composite","-gravity" , "center" 將圖片A合併到圖片B的指定位置上
程式碼:
A: 圖片A轉檔
fullImg1 = "C:\inetpub\wwwroot\ImageA.jpg"
'圖片A 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限,這裡因為偷懶,就以直接複寫原圖的方式作處理,
'實務操作可以存成另一張圖片
Img.Convert "-auto-orient" , "-adaptive-resize" , "640x480" , "-quality" , "95" ,fullImg1 , fullImg1
'原始圖片寬度或高度小於 640x480,圖片將會被拉大為寬度符合640px或高度符合480px
'如果原始圖片小於 640x480,卻不想要圖片被拉寬,可以將參數中的 "640x480" 改為 ">640x480"
'這樣轉檔時,就只會處理寬度或高度大於 640x480的圖片
'"-auto-orient" 此參數會自動調整圖片旋轉角度,某些圖片的EXIF參數中包含了旋轉的資訊,原始圖片打開時觀看角度正常,但是轉檔時的寬高會被誤判
'使用此參數將依照EXIF資訊 先行旋轉處理,如此可避免寬高誤判問題。
'使用數位相機拍攝的照片 EXIF參數容易有旋轉資訊
B: 合併圖片
fullImg1 = "C:\inetpub\wwwroot\ImageA.jpg"'圖片A 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限
ResultImg = "C:\inetpub\wwwroot\ResultImg.jpg"' 合併結果 圖片檔案的位置
backimg = "C:\inetpub\wwwroot\BackImg.jpg" '圖片B(背景圖) 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限
Img.convert"-composite","-gravity" , "center" , backimg , fullImg1 ,ResultImg
合併後的結果圖:
小張圖片(不變更大小):
小張圖片(不變更大小)的合併結果:
頁:
[1]