近来在
图片
存储服务器发现
CPU
居高不下,打开
Virtual
VM
分析,发现是咱生成缩略图的功能太耗
CPU
,遂决定对此进行优化,降低计算时间。
首先,要降低计算时间,首先要使用高效的算法,计算机图形学咱不懂,还是用别人的吧;第二,计算这事就不能交给
JVM
来解释执行了,得通过
JNI
调用
OS
相关的
binary code
。
在网上询问若干大牛后,推荐了
ImageMagick
,堪称专业。
地址为:
http://www.imagemagick.org/script/index.php
1,
安装依赖库
首先从源码安装,安装先注意,
ImageMagick
本身依赖了一些其它的库,如果我们想对
jpeg
格式的图片进行处理,则先要安装处理
jpeg
相关的库。
这些库的下载地址为:
http://www.imagemagick.org/download/delegates/
要处理
jpeg
的库,
jpegsrc.v7.tar.gz
是必需,还是从源码安装。
安装命令如下:
tar xvfz jpegsrc.v7.tar.gz
cd jpeg-7
./configure
make
make install
要处理
png
的库,则
libpng-1.5.10.tar.gz
是必需的,还是从源码安装。
安装命令如下:
tar xzvf libpng-1.5.10.tar.gz
cd libpng-1.5.10
./configure
make
make install
2
,
ImageMagick
本身的源码安装
安装命令如下:
tar xzvf ImageMagick.tar.gz
cd ImageMagick-6.7.6-5
./configure --prefix=/opt/ImageMagick --enable-share --enable-static LDFLAGS="-L/usr/lib64" CPPFLAGS="-I/usr/include”
make
make install
ldconfig /usr/local/lib
make
的时间有点漫长,你可以去喝杯茶。
下面来验证一下是否安装成功。
运行如下命令,把
test.jpg
转换为
png
格式:
/opt/ImageMagick/bin/convert test.jpg test.png
如果这一步都没有测试成功,那么说明你的配置还有问题,如果错误提示信息是:
convert: no decode delegate for this image format
,那么你需要使用
convert
-list format
命令查找一下
convert
支持的文件类型,如果不包含
jpeg
格式,那么说明你上面的
jpeg
包没有安装好。
3,
安装客户端
Java
客户端目前大体有
2
种,一种是
JMagick
,它通过
JNI
与底层库交互;另一种较新的
Im4java
通过
shell
与底层库交互。先不对两者的其它方面进行比较,就与底层库的交互来说,后者通过
shell
进行交互,每次调用
shell
会生成一个子进程,调用结束销毁,这样的开销对于服务器端是不可接受,这就跟早期的
apache
服务器类似,每接收一个请求就
fork
一个进程来进行处理。
这样我们别无选择,只能使用
JMagick
。
OK
,还是从源码编译。
安装命令如下:
./configure --prefix=/opt/jIM --with-magick-home=/opt/ImageMagick --with-java-home=/usr/java/jdk1.6.0_29 --enable-share --enable-static
运行后你可能会发生如下错误:
checking for MagickCore-config... /opt/ImageMagick/bin/MagickCore-config
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking magick/api.h usability... no
checking magick/api.h presence... no
checking for magick/api.h... no
configure: error: 'Unable to find ImageMagick header files'
你可以通过查看下面这个帖来解决:
http://superuser.com/questions/361435/i-have-compiled-imagemagick-on-my-centos-and-rmagick-wont-install
接着运行以下命令:
make all
make install
OK
,在
/opt/jIM/lib
目录下能看到我们想要的东西:客户端使用的
JAR
包和对应的底层库文件,咱的
OS
是
64
位的,先把库文件挪到
/lib64
下;在客户端的
classpath
加上
JAR
包路径即可,最后别忘了,启动客户端时在
JVM
的参数加上
-Djmagick.systemclassloader=no
。
到此为止,祝你好运。
分享到:
相关推荐
ImageMagick安装注意事项;pdf转imgphp中ImageMagick安装教程;ImageMagick安装包;ImageMagick安装注意事项;pdf转imgphp中ImageMagick安装教程;ImageMagick安装包;ImageMagick安装注意事项;pdf转imgphp中...
在IT行业中,图片处理是一项常见的任务,特别是在网页开发、图像分析和...同样,对于Windows系统,虽然安装步骤可能略有不同,但原理相同,主要涉及下载和安装ImageMagick的HEIC支持版本,以及选择合适的Java绑定库。
### Ruby on Rails 安装与部署知识要点 #### 一、前言 在进行 Ruby on Rails 的安装与部署过程中,我们需要关注几个核心方面:系统版本兼容性、软件依赖包的选择与安装、Ruby 语言环境的配置以及 Rails 应用的具体...
ImageMagick完全手册,Part 1 最全的ImageMagick开发指南,英文原版,通俗易懂,图文并茂 限于上传限制,分为三部分,这是第一部分.(另外未标明Part的,是最后第三部分)
获取最新版本的安装程序,例如`ImageMagick-6.2.6-8-Q16-windows-dll.exe`,安装完成后将安装路径添加到系统环境变量PATH中,这样可以在命令行中直接调用其提供的命令行工具。 2. 接着,下载JMagick。可以从`...
在64位Linux环境下安装ImageMagick,特别是与JMagick配合使用,是一个涉及多个步骤的过程,主要目的是为了实现Java应用程序对ImageMagick图像处理功能的调用。以下是详细的安装步骤和相关知识点: 1. **卸载旧版本*...
本文将详细介绍如何在Linux和Windows系统上使用LNMP一键安装包来安装并配置ImageMagick。 首先,我们来看Linux系统的安装步骤。在Linux上,通常会使用包管理器进行安装。对于基于Debian的系统(如Ubuntu),可以...
### Imagemagick手册知识点概览 #### 一、Imagemagick简介 - **概述**:Imagemagick是一款强大的图像处理工具包,能够创建、编辑或合成图像。它支持多种格式,包括JPEG、GIF、PNG等,并且可以在各种操作系统上运行...
### ImageMagick 使用手册知识点概览 #### 一、ImageMagick简介 ImageMagick是一款功能强大的开源软件工具集,用于创建、编辑或合成位图图像。它可以在图像上执行的操作包括转换颜色空间、应用模糊、锐化、噪点、...
这个是安装后的目录,不知道算不算绿色版本,不用安装 ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及...
标签中的“jar包”指的是Java Archive,它是Java平台上的一种归档文件格式,用于封装多个Java类文件和其他资源,以便于分发和部署。im4java作为一个Java库,其jar包包含了所有必要的类和资源,使得开发者可以在Java...
**PHP图片库ImageMagick安装方法** ImageMagick是一个强大的跨平台图像处理库,它可以用于创建、编辑和合成各种格式的静态和动态图像。在PHP中,ImageMagick被广泛用于图片处理,如图片裁剪、缩放、旋转、添加水印...
#### 三、CentOS环境下安装ImageMagick 在CentOS系统上安装ImageMagick及其PHP扩展,可以分为以下几个步骤: ##### 1. 安装ImageMagick - **使用YUM安装ImageMagick基础包** ```bash sudo yum install ...
ImageMagick-6.8.9-1-Q16-x64-dll.exe文件很可能是ImageMagick的安装程序,用户可以通过运行这个文件来在64位Windows系统上安装ImageMagick。 在使用ImageMagick时,你可以通过命令行界面(CLI)或者编程接口(API...
ImageMagick-7.0.8-56-Q16-x64-dll.rar是ImageMagick7.0.8的windows 64位操作系统的安装程序,解压执行即可安装。 使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的...
1. 安装ImageMagick:首先,需要在系统上安装ImageMagick,例如提供的`ImageMagick-6.8.7-10-Q16-x86-static.exe`是Windows平台下的版本。安装后,确保其可执行文件(如`convert`命令)能在命令行中调用。 2. 集成...
本文将详细介绍在Windows XP下使用Visual C++ 6.0进行ImageMagick安装的过程,包括必要的步骤和注意事项。 #### 二、准备工作 在正式安装之前,需要确保以下条件得到满足: 1. **开发环境**:本文作者使用的是...