ImageMagick快速入门_imagemagick 的安装路径添加到系统的环境变量-程序员宅基地

技术标签: ImageMagick  

一.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 旋转

如果读完后对您有帮助,请点一下“推荐”,谢谢。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/anita9999/article/details/78480768

智能推荐

小米5手机设置电信联通VoLTE,解决4G网络不能接打电话收发短信的问题(3)_小米5电信卡不能打电话-程序员宅基地

文章浏览阅读3.3k次,点赞4次,收藏10次。他说按我的操作步骤,到开启Root的步骤后,无论如何也下载不下来Root安装包,导致无法获取Root权限。从我的小米5手机Root成功,到现在才一个来月,难道小米官方就关闭了此型号的Root服务,彻底把这枚钉子户抛弃了?下载一个刷机包->下载并安装magisk->用magic修改刷机包->将刷机包刷入手机->测试成功->舔杯(只是阶段性的胜利,不能大张旗鼓的干杯)备份手机数据-->解锁BL-->刷开发版-->开启Root-->安装文件管理器-->替换相关文件-->测试-->干杯!下面是一些我的维修故事。_小米5电信卡不能打电话

Android开发之TextView中间设置横线,适用于电商项目,商品原价之类的功能。_android textview paint 添加中横线-程序员宅基地

文章浏览阅读539次。[java] view plain copytextview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //中间横线 [java] view plain copytextview.getPaint().setFlags(Paint.UNDERLINE__android textview paint 添加中横线

DataGridView翻页(WinForm)-程序员宅基地

文章浏览阅读1.4k次。思想: 将DataGridView界面设置成显示固定条数的大小,比如要显示10条数据,就将DataGridView设成只能显示10条数据的大小。根据设置FirstDisplayedScrollingRowIndex属性,实现翻页效果。(实际上,这种实现方式只是将数据隐藏了,翻页时将要显示的数据放到第一行的位置,让人看起来就像是翻页了……) FirstDisplayedScrollingRo..._c# datagridview 滚动条改成翻页

正则表达式入门-程序员宅基地

文章浏览阅读53次。正则表达式什么是正则表达式?正则表达式又称规则表达式,正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式通常被用来检索、替换那些符合某...

攻防世界-进阶区-Miscellaneous-200-程序员宅基地

文章浏览阅读1k次。前言:今天的第三题个题目,写完睡觉题目:下载好附件之后发现是一个txt文件,全是三原色数值,于是想到生成图片,代码如下:from ast import literal_evalfrom PIL import Imagef = open('flag.txt', 'r')corl = [literal_eval(line) for line in f.readlines()]f.close()img = Image.new('RGB', (270, 270), '#ff._miscellaneous-200

深度学习——卷积神经网络(CNN)简介_cnn是深度学习吗-程序员宅基地

文章浏览阅读3w次,点赞90次,收藏906次。卷积神经网络简介文章目录卷积神经网络简介前言一.如何理解卷积1.1什么是卷积1.2 为什么要卷积二.神经网络的结构三.卷积层四.池化层五.全连接层六.数据训练前言卷积神经网络(Convolutional Neural Networks,简称:CNN)是深度学习当中一个非常重要的神经网络结构。它更多的是用在图像图片处理,视频处理,音频处理以及自然语言处理等等。早在上世纪80年代左右,卷积神经网络的概念就已经被提出来了。但其真正的崛起却是在21世纪之后,21世纪之后,随着深度学习理论的不断完善,同时,由_cnn是深度学习吗

随便推点

插件列表说明_csdn e3d菜单插件-程序员宅基地

文章浏览阅读422次。插件列表说明新增E3D一键安装版{可选下载}最新版的调色插件套装Red Giant Color Suite (英文:AE Pr插件) Magic Bullet Looks (汉化:AE Pr插件) Magic Bullet Colorista (汉化:AE Pr插件) Magic Bullet Denoiser II..._csdn e3d菜单插件

学习Camera之——V4L2视频输入框架概述_君正v4l2 camera架构-程序员宅基地

文章浏览阅读1.1k次。V4L2框架简介 几乎所有的设备都有多个 IC 模块,它们可能是实体的(例如 USB 摄像头里面包含 ISP、sensor 等)、也可能是抽象的(如 USB 设备里面的抽象拓扑结构),它们在 /dev 目录下面生成了多个设备节点,并且这些 IC 模块还创建了一些非 v4l2 设备:DVB、ALSA、FB、I2C 和输入设备。正是由于硬件的复杂性,v4l2 的驱动也变得非常复杂。 特别是 v4l2 驱动要支持 IC 模块来进行音/视频的混合/编解码操作,这就更加使得 v4l2 驱动变得异常复._君正v4l2 camera架构

rk3588根文件系统制作和导出镜像img_rk3588s镜像克隆-程序员宅基地

文章浏览阅读2k次。在我们做过根文件系统精简以后,我们需要将目前精简过的根文件系统导出,制成镜像文件,方便生产烧录。_rk3588s镜像克隆

算法系列之原地算法(in-place algorithm)-程序员宅基地

文章浏览阅读1.8w次,点赞16次,收藏50次。一、原地算法简介 在计算机科学中,一个原地算法(in-place algorithm)基本上不需要额外辅助的数据结构,然而,允许少量额外的辅助变量来转换数据的算法。当算法运行时,输入的数据通常会被要输出的部分覆盖掉。不是原地算法有时候称为非原地(not-in-place)或不得其所(out-of-place)。–摘自维基百科。 ..._原地算法

win11安装PostgreSQL14.5_win11 安装pg14-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏3次。win11安装PostgreSQL14.5_win11 安装pg14

超强任务管理器Process Explorer的使用_开源任务管理器软件 process-程序员宅基地

文章浏览阅读7.8k次,点赞16次,收藏25次。文章目录一、关于Process Explorer二、下载地址三、如何使用1、Process Explorer主界面2、显示进程的系统信息3、显示当前进程所加载的DLL4、显示当前进程所占用的系统资源句柄5、操控进程以及显示进程的内部信息6、搜索功能(Ctrl+F)一、关于Process ExplorerProcess Explorer让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的DLL进程,以及他们所打开的句柄。Process_开源任务管理器软件 process

推荐文章

热门文章

相关标签