简介:用于读、写、处理图片文件,支持89种格式的图片文件,利用imageMagick可以根据web应用程序动态生成图片,也可以将一个或者一组图片改变大小、旋转、锐化、减色、增加特效等操作,并对操作结果进行保存(可以设置保存格式)。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。

Ada:G2F         C:MagickWand 和MagickCore          Ch:ChMagick          COM+:ImageMagickObject      C++:Magick++          java:JMagick和Im4java

使用方法:首先要安装ImageMagick这个工具,安装好这个工具后,再下载im4java包放到项目lib目录里就行了。

publicclassImageTools {

/**

* ImageMagick的路径

*/

publicstaticString imageMagickPath =null;

static{

/**

*

* 获取ImageMagick的路径

*/

Properties prop = newPropertiesFile().getPropertiesFile();

//linux下不要设置此值,不然会报错

imageMagickPath = prop.getProperty("imageMagickPath");

}

/**

*

* 根据坐标裁剪图片

*

* @param srcPath   要裁剪图片的路径

* @param newPath   裁剪图片后的路径

* @param x         起始横坐标

* @param y         起始纵坐标

* @param x1        结束横坐标

* @param y1        结束纵坐标

*/

publicstaticvoidcutImage(String srcPath, String newPath,intx,inty,intx1,inty1)throwsException {

intwidth = x1 - x;

intheight = y1 - y;

IMOperation op = newIMOperation();

op.addImage(srcPath);

/**

* width:  裁剪的宽度

* height: 裁剪的高度

* x:       裁剪的横坐标

* y:       裁剪的挫坐标

*/

op.crop(width, height, x, y);

op.addImage(newPath);

ConvertCmd convert = newConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op);

}

/**

*

* 根据尺寸缩放图片

* @param width             缩放后的图片宽度

* @param height            缩放后的图片高度

* @param srcPath           源图片路径

* @param newPath           缩放后图片的路径

*/

publicstaticvoidcutImage(intwidth,intheight, String srcPath,  String newPath)throwsException {

IMOperation op = newIMOperation();

op.addImage(srcPath);

op.resize(width, height);

op.addImage(newPath);

ConvertCmd convert = newConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op);

}

/**

* 根据宽度缩放图片

*

* @param width            缩放后的图片宽度

* @param srcPath          源图片路径

* @param newPath          缩放后图片的路径

*/

publicstaticvoidcutImage(intwidth, String srcPath, String newPath)throwsException {

IMOperation op = newIMOperation();

op.addImage(srcPath);

op.resize(width, null);

op.addImage(newPath);

ConvertCmd convert = newConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op);

}

/**

* 给图片加水印

* @param srcPath            源图片路径

*/

publicstaticvoidaddImgText(String srcPath)throwsException {

IMOperation op = newIMOperation();

op.font("宋体").gravity("southeast").pointsize(18).fill("#BCBFC8")

.draw("text 5,5 juziku.com");

op.addImage();

op.addImage();

ConvertCmd convert = newConvertCmd();

// linux下不要设置此值,不然会报错

convert.setSearchPath(imageMagickPath);

convert.run(op, srcPath, srcPath);

}

publicstaticvoidmain(String[] args)throwsException {

// cutImage("D:\\test.jpg", "D:\\new.jpg", 98, 48, 370,320);

// cutImage(200,300, "/home/1.jpg", "/home/2.jpg");

addImgText("//home//1.jpg");

}

}

注意事项:如果是在windows下运行,则需要配置ImageMagick的路径(现在很多安装程序都不需要设置,已经自动帮你设置好了):

在环境变量path中添加(C:\Program Files\ImageMagick-6.7.5-Q16;)

或者

publicstaticString imageMagickPath;

Properties prop = newPropertiesFile().getPropertiesFile();

imageMagickPath = prop.getProperty("imageMagickPath");

ConvertCmd convert = newConvertCmd();

convert.setSearchPath(imageMagickPath);

在config.properties文件里了,内容如下所示: imageMagickPath=C:\\Program Files\\ImageMagick-6.7.5-Q16;

如果是在linux平台下,千万不需要配置,设置了会报错。

imagemagick for java_ImageMagick使用for java(im4java)相关推荐

  1. ImageMagick高清压缩图片-GraphicsMagick+im4java

    之前有写过imageMagick压缩图片的文章,但是那篇文章中用到的是jmagick. JMagick是一个开源API,利用JNI(Java Native Interface)技术实现了对ImageM ...

  2. ImageMagick使用for java(im4java)

    简介:用于读.写.处理图片文件,支持89种格式的图片文件,利用imageMagick可以根据web应用程序动态生成图片,也可以将一个或者一组图片改变大小.旋转.锐化.减色.增加特效等操作,并对操作结果 ...

  3. wand java源码_ImageMagick使用for java(im4java)

    简介:用于读.写.处理图片文件,支持89种格式的图片文件,利用imageMagick可以根据web应用程序动态生成图片,也可以将一个或者一组图片改变大小.旋转.锐化.减色.增加特效等操作,并对操作结果 ...

  4. Java整合ImageMagick图片裁剪工具,奉上实现图片处理的常用方法,如:自由裁剪、中心化裁剪、缩略图、中心化缩略图等。 工具方法类

    手把手教你整合Java+ImageMagick. java 利用Img4JavaUtil 工具对图片做缩略图.裁剪等常用方法 安装ImageMagick最新版本, 并设置path系统环境变量.获取安装 ...

  5. 手把手教你如何通过Java给图片添加文字和图片水印

    本文首发于个人网站 前言 最近工作上有个需求,动态生成一张图片,具体来说就是基于模版图片动态添加文字和图片(文字内容不同,图片数目不同),其中文字大小不全一样,且对位置有所要求. 本文将剖析多个技术方 ...

  6. ImageMagick快速入门

    一.ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件,可以实现图片切割.颜色替换.图片缩略图.图片水印等各种效果.ImageMagick是免费开源软件,支持大多 ...

  7. 踩坑ImageMagick将ios图片文件HEIC格式转jpg/png等

    近期业务部门要求将heic文件转成jpg文件格式,刚开始使用了各种ImageReader都不可以,后来接触ImageMagick后,发现可以中间也踩了一些坑,现在做一下记录踩过的那些坑. 1.首先需要 ...

  8. Linux安装ImageMagick与JMagick完成过程及配置

    原文地址:http://www.iitshare.com/linux-install-imagemagick-jmagick.html 一.安装背景 最近在服务器上部署了HapiCMS的产品,因为其对 ...

  9. 在LInux系统上安装ImageMagick

    一.ImageMagick的安装背景 项目中需要获得ECG图片,使用心电插件只能生成PDF,因此需要在Linux系统上安装ImageMagick程序将PDF转化成图片 二.ImageMagick介绍 ...

最新文章

  1. 一级二级标题_考二级造价师有啥要求?
  2. 判断浏览器类型及版本
  3. BootStrap Table - JS事件绑定
  4. Eclipse 常用快捷键
  5. java1.8--改进的接口
  6. 岩板铺地好吗_别人都说岩板好,我笑他人乐太早
  7. 找出占用cpu最高的线程
  8. linux分区问题,调整linux分区问题
  9. swoole mysql 无法查询_swoole websocket服务进行mysql断线重连不生效的问题
  10. oracle 自定义函数 返回一个表类型
  11. 配置文件是什么东西?
  12. 解决硬盘磁道损坏问题(亲测)
  13. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_10idea集成maven插件...
  14. 关于全局异常捕获的思考-真正的全局异常捕获
  15. Matlab逻辑运算符/与/或/非/异或/all/any
  16. dreamweaver php网站模板,Dreamweaver软件-教你一分钟搞定一个网页模板
  17. SiT3808:1 -80MHz 单端压控振荡器VCXO
  18. Chrome 翻译插件规避代码块
  19. C#区域性语言(CultureInfo)与资源本地化(WINFORM,多线程,原理可适用于网络开发)
  20. Gbase XDM API接口--打开xdm连接

热门文章

  1. 前端学习(2977):vue-element-admin
  2. [html] html5哪些标签可以优化SEO?
  3. 工作109:控制mode跳转
  4. 前端学习(1958)vue之电商管理系统电商系统之参数管理
  5. 前端学习(1402):多人管理22验证joi
  6. 前端学习(972):swiper插件使用 参数更改
  7. mybatis学习(32):删除操作
  8. 第三十六期:学 Java 网络爬虫,需要哪些基础知识?
  9. VMware Workstation Pro 无法在Windows 上运行的 解决办法
  10. Qt弹出的窗口始终位于界面最前面的方法