|
平台:
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
複製代碼
合併後的結果圖:
小張圖片(不變更大小):
小張圖片(不變更大小)的合併結果:
|
|