zoukankan      html  css  js  c++  java
  • 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 快速入门教程

  • 相关阅读:
    c# 文件上传
    iOSswift基础篇1
    copyWithZone 的使用方法
    客户端登陆接收大量数据导致数据丢失问题解决方法
    设计模式观察者模式(KVO)
    SQLite 之 C#版 System.Data.SQLite 使用
    设计模式MVC(C++版)
    JS 创建自定义对象的方法
    手机号、邮箱、身份证号 格式 验证
    在.cs文件中添加客户端方法
  • 原文地址:https://www.cnblogs.com/chanshuyi/p/quick_start_of_image_magick.html
Copyright © 2011-2022 走看看