GVKun编程网logo

centos6.5 安装ImageMagick&java使用ImageMagick压缩图片(linux安装imagemagick)

27

在本文中,您将会了解到关于centos6.5安装ImageMagick&java使用ImageMagick压缩图片的新资讯,同时我们还将为您解释linux安装imagemagick的相关在本文中,我们

在本文中,您将会了解到关于centos6.5 安装ImageMagick&java使用ImageMagick压缩图片的新资讯,同时我们还将为您解释linux安装imagemagick的相关在本文中,我们将带你探索centos6.5 安装ImageMagick&java使用ImageMagick压缩图片的奥秘,分析linux安装imagemagick的特点,并给出一些关于centos 5 php5.6 安装imagemagick和imagick、CentOS 6.5/6.3升级安装ImageMagick7.0.1、CentOS 6安装ImageMagick扩展的2个方法、centos imagemagick的实用技巧。

本文目录一览:

centos6.5 安装ImageMagick&java使用ImageMagick压缩图片(linux安装imagemagick)

centos6.5 安装ImageMagick&java使用ImageMagick压缩图片(linux安装imagemagick)

一 安装ImageMagick

1.安装依赖库

yum install libjpeg* libpng* freetype* gd*

2.安装ImageMagick

yum install ImageMagick

3.测试安装是否成功

convert -quality 75% 1.jpg zoom.jpg

二 java中使用ImageMagick

1.导入jar包

<dependency>
    <groupId>org.im4java</groupId>
    <artifactId>im4java</artifactId>
    <version>1.4.0</version>
</dependency>

2.在代码中使用ImageMagick进行压缩图片

IMOperation operation = new IMOperation();
operation.addImage(orgfileName);
operation.quality(0.75);
operation.addImage(zoomfileName);
ConvertCmd cmd = new ConvertCmd();
cmd.run(operation);

3.检查运行结果

图片被正常压缩,省时省力。

三 使用ImageMagick的常用的方式

1.对用户生成的图片进行压缩

对于用户自己上传的图片不能简单的 用css限制大小,因为这样每次加载图片时候还是会加载整幅大图。占用多余的宽带,并且影响页面加载速度。应该根据实际显示需要进行缩放。比如我想要用户相册里的图片大小不能超过500x300:

用ImageMagick处理起来很简单

convert -resize “500x300>“ input.jpg  output.jpg #如果图片比500x300小就保持原样,以防小图片被放大失真。

2.生成不同比例的缩略图

一般相册等应用,都会提供缩略图和预览图,这些缩略图同样不能简单的用css来限制大小,要为每个图片生成不同比例的预览图。

3.去除多余信息

Exif信息是数码相机在拍摄过程中采集的一系列信息,这些信息放置在我们熟知的jpg文件的头部,也就是说Exif信息是镶嵌在JPEG图像文件格式内的一组拍摄参数,主要包括摄影时的光圈、快门、ISO、日期时间等各种与当时摄影条件相关的讯息,相机品牌型号,色彩编码,拍摄时录制的声音以及全球定位系统(GPS)等信息。简单的说,它就好像是傻瓜相机的日期打印功能一样,只不过Exif信息所记录的资讯更为详尽和完备。不过,具有Exif信息的JPEG图像文件要比普通的JPEG文件略大一点。还有就是像PS这种软件处理过的图片会有“program comments”。如果不是专业的摄影类网站,这些信息是没有用的,可以去掉:

convert -strip input.jpg output.jpg

4.调节压缩比例

大多时候,我们的网站并不需要那么清晰的图片,适量调节JPG图片的压缩比会减少图片大小,肉眼并不会分辨出质量被压缩后的图片。通常75%是最佳比例

convert -quality 75% input.jpg output.jpg

上面几个步骤可以一次搞定

convert -resize “500x300” -strip -quality 75% input.jpg output.jpg

5.BMP,GIF,PNG等格式的处理

对于BMP直接转成JPG就可以了。再按照上面的方式处理。

而GIF和PNG貌似有些特殊。GIF的一些特性(动画效果,透明等)是JPG没有的,可以根据实际情况选择转或不转,如果转换成jpg,取第一帧只需要这样:

convert -format jpg input.gif input.jpg

PNG也可以通过减少PNG图片color数量的办法达到压缩的目的。但是这种办法压缩出来的图像可以明显看出来失真,而且呈锯齿状。


对于真实世界的PNG图片(通常指照片),一般先转换成JPG,再通过上面的办法来压缩。

但是要注意一点,透明或半透明的PNG图片在转换成JPG时透明部分会变成黑色。。。建议做用户头像时候不要转成JPG。。很难看~~~
本人头像就是深受毒害。。


关于图片扩展名
发现大部分网站喜欢把用户上传的图片(头像,相册等)都统一转成特定格式(一般都是jpg)。这样做的潜在弊端就是在用像ImageMagick这样的软件处理的时候会根据扩展名做隐式格式转换。
个人觉得在保存图片的时候不加扩展名处理起来更灵活一些。

注:把上面的命令行用mini_magick改写用到rails里很容易的。mini_magick本质就调用系统命令行嘛~~

links:
本文所说的都是对用户上传的图片处理,对网站自身的图片(header,banner等)处理《Even Faster Websites》一书第十章里面写的很详细了:
http://www.graphics.com/modules.php?name=Sections&op=viewarticle&artid=756
更多ImageMagick用法:
http://www.imagemagick.org/script/index.php

参考博客:

使用ImageMagick对图片进行全面压缩

http://www.jb51.cc/article/p-ahzzvatp-bms.html

Java 图片处理解决方案:ImageMagick 快速入门

http://www.cnblogs.com/chanshuyi/p/quick_start_of_image_magick.html

centos 5 php5.6 安装imagemagick和imagick

centos 5 php5.6 安装imagemagick和imagick

在百度查了好久,试验了好久,各种人写的各种不靠谱的帖子,通通失败,现在已经舍弃百度了,下面是我google出来的,经过验证后,很快实现了安装这俩扩展,介绍一下环境先,centos5 64bit,PHP5.6源码安装 ,yum源最好更新一下为阿里的,具体命令如下:


1.更新源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak


2.下载源:

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

3.运行源:

yum clean all

yum makecache

4.Yum安装PHP-pear:

yum -y install PHP-pear

5.Yum安装ImageMagick:

yum -y install ImageMagick*

pecl install Imagick

这一步需要手动指定Imagemagick的安装路径,因为Imagick需要找Imagemegick的库文件,where is Imagemegick就好了,我的是在/usr/local/Imagemagick下,回车,然后Imagick就自动编译安装了

6.检查一下是否安装成功:

PHP -i | grep Imagick

出现这些就说明成功了:

imagick classes => Imagick,ImagickDraw,ImagickPixel,ImagickPixelIterator,ImagickKernel

Imagick compiled with ImageMagick version => ImageMagick 6.9.5-7 Q16 x86_64 2016-08-18 http://www.imagemagick.org

Imagick using ImageMagick library version => ImageMagick 6.9.5-7 Q16 x86_64 2016-08-18 http://www.imagemagick.org

CentOS 6.5/6.3升级安装ImageMagick7.0.1

CentOS 6.5/6.3升级安装ImageMagick7.0.1

官网下载链接:http://www.imagemagick.org/download/

ImageMagick7.0.1编译安装:(参考http://www.linuxidc.com/Linux/2016-05/131331.htm)

官方说明:https://www.imagemagick.org/discourse-server/viewtopic.PHP?f=4&t=29588

源码包下载:  

git clone http://git.imagemagick.org/repos/ImageMagick.git

依赖环境:

rpm �qa |grep libpng

rpm �qa |grep libpng-devel

rpm �qa |grep libjpeg

rpm �qa |grep gd-devel

yum install libpng* libjpeg* gd-devel -y

编译安装:

cd ImageMagick/

./configure --prefix=/usr/local/ImageMagick --enable-shared --enable-static --without-perl

make && make isntall

设置环境变量:

echo "export PATH=$PATH:/usr/local/ImageMagick/bin" >> /etc/profile

移除旧版本:

yum remove ImageMagick -y

加载环境变量:

source /etc/profile

验证版本安装是否成功:

convert -version

Version: ImageMagick 7.0.1-2 Q16 x86_64 2016-05-05 http://www.imagemagick.org

检查支持的一些图片格式:

convert -list format 支持的所有格式

convert -list format|grep png 查看是否支持png

convert -list format|grep jpeg 查看是否支持jpeg

还要记得验证论坛和网站程序是否能正常刷出验证码来。

CentOS 6安装ImageMagick扩展的2个方法

CentOS 6安装ImageMagick扩展的2个方法

ImageMagick,是一个软件套件用来创建,编辑,合成,或转换位图图像。我们可以用它来读取和在各种格式写图像,包括DPX、EXR、GIF、JPEG、PDF、SVG和TIFF等格式。我们可以用来使用ImageMagick组件调整大小、翻转、镜像、旋转、扭曲、剪切以及转换图像,调整图像色彩,以及适用于各种特殊效果,或绘制文本,线,面,椭圆和贝塞尔曲线。

ImageMagick的可以通过使用Remi安装库,或通过编译从最新的稳定版本的源代码进行安装。下面老左就整理来自国外的教程,分为不同的方法安装。

方法之一、安装库安装ImageMagick扩展

A - 如果我们没有安装EPEL库,需要先安装

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6*.rpm

B -安装Remi库

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm

C -编辑/etc/yum.repos.d/remi.repo文件启动

我们需要找到Remi库把enabled=0改成enabled=1

REMI启动状态

D -安装需要的依赖包环境

yum install -y gcc php-devel php-pear

E -安装ImageMagick

yum install -y ImageMagick ImageMagick-devel

安装完毕之后,我们看到这样的提示说明是安装成功了。

ImageMagick安装成功

方法之二、从源代码安装ImageMagick

A -安装依赖包环境

yum -y groupinstall ''Development Tools''
yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel

B -获取安装源

wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar xvzf ImageMagick.tar.gz
cd ImageMagick*

C - 配置和编译源代码

./configure
make
make install

这个需要一点时间,我们等待。

D -验证是否安装成功

convert --version

ImageMagick-1

E -安装PHP扩展

pecl install imagick

如果有出现-bash: pecl: command not found提示错误,我们需要先运行yum install php-devel php-pear httpd-devel环境包,然后再执行上面一步。

F - php.ini添加extension=imagick.so

回车执行之后,我们就可以看到提示需要再PHP.INI中添加extension=imagick.so,在/etc/php.ini文件中添加就可以。

G -然后检查是否安装成功

php -m | grep imagick

ImageMagick-2

我们可以看到已经OK。如果你正在运行一个Web服务器,如Apache,记得重新启动。

service httpd restart

centos imagemagick

centos imagemagick

centos 编译安装的ImageMagick /etc/profile环境变量已经配置好了 为什么php里面exec(''conver -version''); 无法执行 必须还要手动指定路径比如 exec(''/usr/local/imagemagick/bin/conver -version'');才可以 而且在php里面echo ("echo $PATH");没有显示显示环境变量里面配置的路径 但是通过yum 安装的ImageMagick 可以不指定路径直接运!help 这玩意已经折腾两天了 谁知道什么情况 说明下php是www用户

今天关于centos6.5 安装ImageMagick&java使用ImageMagick压缩图片linux安装imagemagick的讲解已经结束,谢谢您的阅读,如果想了解更多关于centos 5 php5.6 安装imagemagick和imagick、CentOS 6.5/6.3升级安装ImageMagick7.0.1、CentOS 6安装ImageMagick扩展的2个方法、centos imagemagick的相关知识,请在本站搜索。

本文标签: