关于GraphicsMagick+im4java的研究心得【原创】
??? ??? 做网站往往需要处理各种各样的图片,对于jdk自带的一套图片处理库,他的特点是稳定简单,但是对图片处理来说,性能确实很不咋的!
??? ??? 于是我转向了以C++处理为核心的java处理包—— JMagick+ ImageMagick 。jmagick是一个开源的API,利用JNI(Java Native Interface)技术实现了对ImageMagickAPI 的Java访问接口,因此也将比纯Java实现的图片操作函数在速度上要快。实地测试后发现,速度果然提高了不少,但是质量却大大下降了,在大量测试数据下,每生成100张图片约会有5张图片生成出现错误,还会出现down机的情况。对于一个商业应用来说,这个是绝对不可以接受的,于是对jmagick的研究暂放一段时间。
??? ??? 经过韩boss指导,我转向了 GraphicsMagick+im4java 的研究,输入关键词google一下,很容易就可以找到http://javantsky.iteye.com/blog/747807,这篇博客,文章介绍GraphicsMagick+im4java 性能高,运行稳定!
??? ??? 于是我开始了对GraphicsMagick+im4java实际研究:
??? ??? 个人感觉im4java就是graphicsmagick的外面包装了一层“纸”,一个java转换的命令行输出工具,其api也基本没有参考价值(有些与实际不符的地方),GraphicsMagick+im4java的核心在于GraphicsMagick。
??? ??? 作为一个缩放+切割功能的实现,可以使用
??????? 由于个人能力有限,欢迎大家指出不足,提出更好的解决方案!
??????? 欢迎大家访问我们的网站http://meishidaren.com!
??? ??? im4java官方网站:
??? ??? http://im4java.sourceforge.net/index.html
??? ??? im4java的api:
??? ??? http://im4java.sourceforge.net/api/
??? ??? graphicsmagick的官方网站:
??? ??? http://www.graphicsmagick.org/index.html
??? ??? graphicsmagick的命令行参数解析:
??? ??? http://www.graphicsmagick.org/utilities.html?
gm convert /home/zhaohuiliu/workspace/test/meishi.jpg -sample 600x600^ -gravity Center -extent 600x600 -quality 100 /home/zhaohuiliu/workspace/test/chuli.jpg