php ImageMagick windows下安装教程


Posted in PHP onJanuary 26, 2015

1、下载ImageMagick

打开http://imagemagick.org/script/binary-releases.php#windows 下载最新的版本,目前的版本是 ImageMagick-6.5.4-2-Q16-windows-dll.exe

现在的静态版本能够很好的在各个平台上运行,但是他们却很难懂,因此您应该下载一个动态的版本。如果你的系统/电脑支持16位色,那么你应该使用Q16版本(还有一个是8位的版本),这两者的区别我们将会在下面解释。

对我自己来说,最近的一个版本在我的电脑上不能够很好的运行,所以我使用一些老版本,ImageMagick-6.4.2-7-Q16-windows-dll这个版本适合我。我的电脑是Windows XP SP2, 32 Bit, Intel Centrino 1.76GHZ,本你能够从这里下载这些老版本here。

我在这里建议你使用最新的版本,按照下面的步骤操作,如果不能正常使用,那么再换回老版本。

2、安装Install ImageMagick

安装IM在下面的目录

C:\imagemagick\

中间没有空格。不要安装到 c:\program files\etc

千万不要忘记点击"Add to system path" 按钮,其他的选择按钮你不用管。

3、测试安装是否成功

打开命令行 (运行->"CMD"->回车),输入 convert 后按回车。你应该能够看见帮助内容,如果是这样的那么你直接到第四步去。

如果提示"convert不是内部或外部命令,也不是可运行的程序或批处理文件”或者提示“请输入转换的盘符”(convert是一个默认的将FAT32转换到NTFS的系统命令)那么你需要自己将ImageMagick的安装路径添加到系统路径。

我的电脑 -> 单击右键 -> 属性 -> 高级 -> 环境变量 -> 系统变量 -> 找到 "Path" -> 选中并点击进行编辑 -> 把你的安装路径添加进去。

4、下载 php_Imagick.dll

由于版本的问题, 如果你使用 PHP 5.2.x 在请这里 where you will get your 下载dll。dyn = dynamic(动态), st = static(静态), q16 = 16 bit(16位), q8= 8 bit(8位)。当然这应该和你下载的版本想匹配,如果你下载的是q16动态库,你的对应的文件就是php_imagick_dyn-Q16.dll

如果你在使用 PHP 5.3.x, 这个去下载你所需要的版本this is your location 。

5、安放 dll 到你的扩展文件夹

为了方便使用,重命名你下载的DLL文件为 php_imagick.dll 并安放到你的扩展文件夹,通常情况下是:

php/ext/

如果不是的,那么你可以在你的php.ini文件中找到相应的扩展目录。

 Directory in which the loadable extensions (modules) reside.extension_dir = "Something something"

6、编辑 PHP.ini

如果存在下面这句话就直接去掉注释要是不存在则自己添加下面这句话

 

extension=php_imagick.dll

7、重启

非常重要的一步,我花了大约一个小时的时间去搞定它,但是。。。你需要重启你的电脑以生效。

如果你不重启你的电脑而只是重启你的apache那么你将会看见不能加载这个模块的错误,因此请千万要重启电脑。

Unable to find CORE_RL_Wand.dll something something.

8、启动apache并检查相应的设置

启动apache,检查phpinfo() ,如果你看见 imagick 库和是所设定的相应的值那么直接去第九步。

如果你安装后不能正常使用,那么你可以先换几个DLL试试,要还是不行,可以换个老版本的ImageMagick试试,总之别灰心。

9、测试看看

放一张图片到和test.php脚本相同的目录并命名为a.jpg,运行脚本,如果能够看到a_thumnail.jpg这张图片那么就ok了。下面是脚本

<?

$im = new imagick( 'a.jpg' );

// resize by 200 width and keep the ratio

$im->thumbnailImage( 200, 0);

// write to disk

$im->writeImage( 'a_thumbnail.jpg' );

?>
PHP 相关文章推荐
十天学会php(2)
Oct 09 PHP
PHP入门速成教程
Mar 19 PHP
PHP中ADODB类详解
Mar 25 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php内存缓存实现方法
Jan 24 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
php实现的验证码文件类实例
Jun 18 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
php中访问修饰符的知识点总结
Jan 27 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 #PHP
php绘图之生成饼状图的方法
Jan 24 #PHP
php绘图之在图片上写中文和英文的方法
Jan 24 #PHP
php绘图之加载外部图片的方法
Jan 24 #PHP
php绘制一个扇形的方法
Jan 24 #PHP
php绘制一条弧线的方法
Jan 24 #PHP
php绘制一个矩形的方法
Jan 24 #PHP
You might like
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
python 字典(dict)按键和值排序
2016/06/28 Python
PyQt5每天必学之布局管理
2018/04/19 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
python 读取.nii格式图像实例
2020/07/01 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
自我鉴定三原则
2014/01/13 职场文书
产品质量保证书
2014/04/29 职场文书
信息简报范文
2015/07/21 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
关于MySQL中explain工具的使用
2023/05/08 MySQL