前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 图片处理解决方案:ImageMagick 快速入门教程

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

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

ImageMagick介绍

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

ImageMagick快速入门

安装ImageMagick

官网下载相应的安装包。

下载
下载

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

安装注意
安装注意

配置环境变量

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

设置PATH路径
设置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
图片旋转代码
图片旋转代码
ImageMagick快速入门之图片旋转效果
ImageMagick快速入门之图片旋转效果

在Java中使用ImageMagick

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

JDK、MAVEN安装确认
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)
API和命令行参数对比
API和命令行参数对比

运行以下代码可以将图片顺时针旋转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度。

ImageMagick入门旋转效果对比
ImageMagick入门旋转效果对比

参考资料

关键词

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实现旋转
            • 参考资料
            • 关键词
            相关产品与服务
            图片处理
            图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档