DQ NO.1 - dragon quest fans club

 找回密碼
 加入成為夥伴
搜索
熱搜: 活動 交友 discuz
查看: 25|回復: 0

[教學] Classic ASP 圖形處理(合併)使用 ImageMagick

[複製鏈接]
發表於 2020-6-23 09:44:12 | 顯示全部樓層 |閱讀模式
平台:

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轉檔



  1. fullImg1 = "C:\inetpub\wwwroot\ImageA.jpg"
  2. '圖片A 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限,這裡因為偷懶,就以直接複寫原圖的方式作處理,
  3. '實務操作可以存成另一張圖片

  4. Img.Convert "-auto-orient" , "-adaptive-resize" , "640x480" , "-quality" , "95" ,  fullImg1 , fullImg1


  5. '原始圖片寬度或高度小於 640x480,圖片將會被拉大為寬度符合640px或高度符合480px
  6. '如果原始圖片小於 640x480,卻不想要圖片被拉寬,可以將參數中的 "640x480" 改為 ">640x480"
  7. '這樣轉檔時,就只會處理寬度或高度大於 640x480的圖片
  8. '"-auto-orient" 此參數會自動調整圖片旋轉角度,某些圖片的EXIF參數中包含了旋轉的資訊,原始圖片打開時觀看角度正常,但是轉檔時的寬高會被誤判
  9. '使用此參數將依照EXIF資訊 先行旋轉處理,如此可避免寬高誤判問題。
  10. '使用數位相機拍攝的照片 EXIF參數容易有旋轉資訊




複製代碼



B: 合併圖片


  1. fullImg1 = "C:\inetpub\wwwroot\ImageA.jpg"  '圖片A 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限
  2. ResultImg = "C:\inetpub\wwwroot\ResultImg.jpg"  ' 合併結果 圖片檔案的位置
  3. backimg = "C:\inetpub\wwwroot\BackImg.jpg"   '圖片B(背景圖) 在磁碟機上的完整路徑,請注意是否有設置好讀寫權限

  4. Img.convert  "-composite","-gravity" , "center" , backimg , fullImg1 ,  ResultImg

複製代碼





合併後的結果圖:






小張圖片(不變更大小):




小張圖片(不變更大小)的合併結果:






本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?加入成為夥伴

x
您需要登錄後才可以回帖 登錄 | 加入成為夥伴

本版積分規則

Archiver|手機版|ぱふぱふ屋|DQ NO.1

GMT+8, 2020-7-11 17:54 , Processed in 0.039161 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表