首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java 图片处理解决方案:ImageMagick 快速入门教程

Java 图片处理解决方案:ImageMagick 快速入门教程

作者头像
陈树义
发布2018-04-13 17:42:56
发布2018-04-13 17:42:56
5.8K0
举报
文章被收录于专栏:陈树义陈树义

ImageMagick介绍

ImageMagick是一个免费的创建、编辑、合成图片的软件,可以实现图片切割、颜色替换、图片缩略图、图片水印等各种效果。ImageMagick是免费开源软件,支持大多数操作系统,包括Linux、Windows操作系统。ImageMagick的大多数功能的使用都来源于命令行工具

ImageMagick快速入门

安装ImageMagick

官网下载相应的安装包。

在安装过程中记得勾选Install legacy utilities(e.g. convert)选项。

配置环境变量

将ImageMagick安装目录设置到PATH系统变量中

打开命令行运行magick -help测试是否配置成功

使用ImageMagick实现旋转

ImageMagick图片处理命令的格式如下:

代码语言:javascript
复制
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度:

代码语言:javascript
复制
magick doraemon.jpg -rotate 90 doraemon_rotate.jpg

在Java中使用ImageMagick

开始前请先确认JDK、Maven正确安装:

引入依赖

IM4Java是ImageMagick的Java API包,它将Java代码转化成对ImageMagick的命令行调用。

代码语言:javascript
复制
<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)

运行以下代码可以将图片顺时针旋转90度。

代码语言:javascript
复制
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度。

参考资料

  • 1.ImageMagick官网
  • 2.ImageMagick支持的图片处理操作列表
  • 3.选择ImageMagick还是GraphicMagick

关键词

Java 图片处理 Java 图片处理解决方案 Java 图片加水印 Java 图片圆角 Java 图片裁切 Java 图片等比缩小 ImageMagick GraphicsMagick 区别 ImageMagick 旋转

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ImageMagick介绍
  • ImageMagick快速入门
    • 安装ImageMagick
    • 配置环境变量
    • 使用ImageMagick实现旋转
  • 在Java中使用ImageMagick
    • 引入依赖
    • 调用IM4Java实现旋转
  • 参考资料
  • 关键词
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档