imagemagick php windows,Windows运维之ImageMagick 在windows上的使用

本文讲述了在Windows环境中,由于新的ImageMagick版本与系统内置命令冲突,选择使用老版本6.2.7进行图片处理。同时,由于Java通过cmd调用新版本的`magick.exe`失败,且im4java库不支持新版本,因此选择了老版本的`convert.exe`。文章还展示了如何使用im4java库在Java中调用ImageMagick进行图片压缩的方法。
摘要由CSDN通过智能技术生成

本文主要向大家介绍了Windows运维之ImageMagick 在windows上的使用,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助。

1.新老版本区别

老版本的ImageMagick,使用的是convert.exe。

新版本使用的是magick.exe.

区别就是在使用的时候,命令不一样

convert -quality 75%   D:/1.jpg  E:/1.jpg

magick -quality 75%   D:/1.jpg  E:/1.jpg

没有做更多的测试我现在实际用到的是:

新版本现在是7.0.7 http://www.imagemagick.org/script/download.php

老版本是6.2.7 https://pan.baidu.com/s/1gfpPo1X

2.Why???

因为windows系统有同样的一个命令,convert。估计是基于这个考虑,ImageMagick才把convert换成了magick。

3.为什么使用老版本

现在直接使用java通过调用cmd的方式来调用imageMagick,一直没有成功。原因没找到。

String command = "cmd /c magick -quality 75% E:/1.jpg E:/2.jpg";

Process p = null;

Runtime run = Runtime.getRuntime();

try {

p = run.exec(command);

System.out.println(command);

p.waitFor();

in = p.getInputStream();

BufferedReader read = new BufferedReader(new InputStreamReader(in));

String result = read.readLine();

System.out.println("INFO:"+result);

} catch (Exception e) {

e.printStackTrace();

}

而且,之前在linux里面使用的im4java来调用ImageMagick的,im4java,,,不支持新版本。im4java比较老了,应该是在ImageMagick新版本之前就不更新了,所以im4java和新版本的ImageMagick不兼容。

所以,选择使用老版本 。

4.im4java的使用

引入依赖

org.im4java

im4java

1.4.0

压缩图片的java方法

long zoomstart,zoomend;

zoomstart = System.currentTimeMillis();

start = System.currentTimeMillis();

IMOperation operation = new IMOperation();

operation.addImage(orgfileName);

operation.quality(0.1);

operation.addImage(zoomfileName);

ConvertCmd cmd = new ConvertCmd();

cmd.setSearchPath("C:\\Program Files (x86)\\ImageMagick-6.2.7-Q16");  //Windows需要设置,Linux不需要

cmd.run(operation);

zoomend = System.currentTimeMillis();

System.out.println("生成压缩图片时间 start time:" + zoomstart+ "; end time:" + zoomend+ "; Run Time:" + (zoomend - zoomstart) + "(ms)");

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维windows频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值