Java 圖片處理解決方案:ImageMagick 快速入門教程


文章首發於【博客園-陳樹義】,點擊跳轉到原文Java 圖片處理解決方案:ImageMagick 快速入門教程

ImageMagick介紹

ImageMagick是一個免費的創建、編輯、合成圖片的軟件,可以實現圖片切割、顏色替換、圖片縮略圖、圖片水印等各種效果。ImageMagick是免費開源軟件,支持大多數操作系統,包括Linux、Windows操作系統。ImageMagick的大多數功能的使用都來源於命令行工具

ImageMagick快速入門

安裝ImageMagick

官網下載相應的安裝包。

下載

在安裝過程中記得勾選Install legacy utilities(e.g. convert)選項。

安裝注意

配置環境變量

將ImageMagick安裝目錄設置到PATH系統變量中

設置PATH路徑

打開命令行運行magick -help測試是否配置成功

測試配置是否成功

使用ImageMagick實現旋轉

ImageMagick圖片處理命令的格式如下:

imagick deal_type origin_pic_path deal_param dest_pic_path
  • deal_type:圖片處理類型。ImageMagick提供了幾十種圖片處理類型,包括:decorate(邊框)、convert(轉換)、montage(拼接)、animation(動畫)等,你可以在Features and Capabilities查看更多圖片處理類型。
  • origin_pic_path:源圖片路徑。
  • deal_param:處理參數。不同的圖片處理類型有不同的處理參數。
  • dest_pic_path:目標圖片路徑。

運行下面的命令將圖片順時針旋轉90度:

magick doraemon.jpg -rotate 90 doraemon_rotate.jpg

圖片旋轉代碼

ImageMagick快速入門之圖片旋轉效果

在Java中使用ImageMagick

開始前請先確認JDK、Maven正確安裝:

JDK、MAVEN安裝確認

引入依賴

IM4Java是ImageMagick的Java API包,它將Java代碼轉化成對ImageMagick的命令行調用。

<dependency>
    <groupId>org.im4java</groupId>
    <artifactId>im4java</artifactId>
    <version>1.4.0</version>
</dependency>

調用IM4Java實現旋轉

IM4Java的作用是將Java代碼轉成對ImageMagick的命令行調用,因此IM4Java API與ImageMagick的命令有一一對應的關系。

  • ImageMagick的圖片處理類型(deal_type)對應xxxCmd,如:convert處理類型對應ConvertCmdmontage處理類型對應MontageCmd
  • ImageMagick的圖片處理參數(deal_param)對應IMOperation方法,如:-rotate 90參數對應operation.rotate(90d)-resize 900x600參數對應operation.resize(900,600)

API和命令行參數對比

運行以下代碼可以將圖片順時針旋轉90度。

IMOperation operation = new IMOperation();
operation.addImage("C:\\Users\\Administrator\\Desktop\\imagemagick\\doraemon.jpg");
operation.rotate(90d);
operation.addImage("C:\\Users\\Administrator\\Desktop\\imagemagick\\doraemon_rotate.jpg");

ConvertCmd cmd = new ConvertCmd();
cmd.setSearchPath("C:\\Program Files\\ImageMagick-7.0.5-Q16");  //Windows需要設置,Linux不需要
cmd.run(operation);

運行程序后可以看到圖片已經旋轉90度。

ImageMagick入門旋轉效果對比

參考資料

關鍵詞

Java 圖片處理 Java 圖片處理解決方案 Java 圖片加水印 Java 圖片圓角 Java 圖片裁切 Java 圖片等比縮小 ImageMagick GraphicsMagick 區別 ImageMagick 旋轉

文章首發於【博客園-陳樹義】,點擊跳轉到原文Java 圖片處理解決方案:ImageMagick 快速入門教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM