DQ NO.1 - dragon quest fans club

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

[ASP] Classic ASP 圖形處理(縮圖)使用 ImageMagick

[複製鏈接]
發表於 2012-4-30 16:39:54 | 顯示全部樓層 |閱讀模式
前言:
本說明提供一個方法,如何在classic ASP環境(Windows 2008R2 +64bit)下,使用ImageMagick對圖片進行resize動作

作業系統:Windows 2008 R2 SP1 (64bit)
Web Server:IIS 7.5

安裝套件:ImageMagick
ImageMagick官方網站:http://www.imagemagick.org/script/index.php

本次範例下載安裝的檔案:ImageMagick-6.7.6-7-Q8-windows-dll.exe (各安裝檔案版本差異處,請自行參考官方網站)

安裝過程中要勾選「Install ImageMagicObject OLE Control for VBscript,Visual Basic, and WSH」


參考用程式碼:


  1. '建立ImageMagick物件
  2. Set img = CreateObject("ImageMagickObject.MagickImage.1")
  3. '設定轉出檔案位置及檔名
  4. Spath        =        Server.MapPath(".") &        "\newpic.jpg"
  5. '以下為各個參數說明
  6. '        "-adaptive-resize"          --resize參數
  7. '        "300x300"                  --指定轉出圖片解析度最大為300x300 (等比例放大)
  8. '        "-quality","95"          --指定JPEG壓縮輸出的品質 為95
  9. '        server.mappath("testpic1.jpg")        --來源圖片位置
  10. '        Spath                                --轉出圖片位置
  11. Img.Convert "-adaptive-resize","300x300","-quality","95",server.mappath("testpic1.jpg"),Spath
  12. Set Img = nothing
複製代碼


原始圖片:(1024x768)



RESIZE後的圖片(300x225,等比例壓縮,不變型,所以圖片解析度並非參數設定中的300x300)




詳細參數使用請參考官方網網頁:
http://www.imagemagick.org/script/command-line-options.php

-resize參數說明:
http://www.imagemagick.org/script/command-line-options.php#resize
-adaptive-resize參數說明:
http://www.imagemagick.org/script/command-line-options.php#adaptive-resize

本帖子中包含更多資源

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

x
 樓主| 發表於 2012-5-2 10:02:36 | 顯示全部樓層
補充~

resize 參數指定的解析度,會把小於指定解析度的圖片給"放大"到指定尺寸
對於「只要產生縮圖」的應用上會有問題,該程式提供特別的參數格式,可以設定只有在圖片大於某個解析度,才進行RESIZE的動作。

以本文1F的例子來說,原本RESIZE的解析度限制參數是 "300x300"
只要在最後加上一個 >符號,就可以限制只有圖片寬度或長度大於300pixel的時候,才會進行RESIZE動作。修改後的參數為 "300x300>"

關於解析度的參數格式寫法,可以參考[1] Image Geometry


[1]
http://www.imagemagick.org/script/command-line-processing.php?ImageMagick=7nhfhq44k7l623bddda0nru816#geometry
回復 支持 反對

使用道具 舉報

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

本版積分規則

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

GMT+8, 2024-12-22 14:57 , Processed in 0.028363 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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