经过imagick让PHP天生PSD文件缩略图
第一步、装置ImageMagick
起首需求装置 ImageMagick ,由于 imagick 是一个能够供 PHP 挪用 ImageMagick 性能的PHP扩大。(今朝最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)
装置目次不克不及有空格,我集体是装置正在 C 盘根目次:
C:\ImageMagick
一路默许装置便可,装置终了后关上 CMD 饬令行界面,输出:convert ,并按回车,假如能看到一年夜堆的内容则示意装置胜利。
假如提醒“ convert 没有是外部或内部饬令,也没有是可运转的顺序或批解决文件”或许提醒“请输出转换的盘符”( convert 是一个默许的将 FAT32 转换到 NTFS 的零碎饬令)那末你需求本人将 ImageMagick 的装置门路增加到零碎门路。
我的电脑 -> 单击右键 -> 属性 -> 初级 -> 环境变量 -> 零碎变量 -> 找到“Path” -> 选中并点击进行编纂 -> 把你的装置门路增加出来。
第二步、装置imagick
点击这里下载,留意下载的时分要下对应的 PHP 版本,同时留意零碎是32位仍是64位,和 PHP 是 NTS 版仍是 TS 版(今朝最新稳固版是 3.1.2 ,对于若何判别 PHP 是 NTS 版仍是 TS 版,可经过 phpinfo 查看此中的 Thread Safety 项,假如是 enabled 就代表是 TS 版,否之则就是 NTS 版)
将下载的紧缩包解压,找到 php_imagick.dll 文件,把它放到 PHP 的扩大目次里,而后关上 php.ini 文件,正在对应的地位增加如下一行:
extension=php_imagick.dll
保留加入后并重启电脑,确保失效。
假如未失效,则将紧缩包里一切「CORE_RL_*.dll」文件复制到 php 根目次,如:D:\php5.6
第三步、反省
假如所有失常,重启后正在 phpinfo 里应该能看到 imagick 项,如:
假如找没有到,则前往第一步,改换没有同版本的 ImageMagick 从新装置并从新调试。
第四步、测试
OK,到这一步能够开端编写代码了,进程就没有细说了,间接上代码
error_reporting(E_ERROR | E_WARNING); $im = new Imagick('1.psd'); $im->setImageIndex(0); $im->setIteratorIndex(0); $im->stripImage(); //去除了图片信息 $im->setImageCompressionQuality(80); //图片品质 $im->writeImage('1.jpg');
以上代码曾经通过测试能够正确天生出一张 1.jpg 的图片。
倡议缩略图仍是以 jpg 格局,由于 png 格局没有支持紧缩,我正在测试的时分应用 30M 的 PSD 文件,天生进去的 png 缩略图有 3M 多,而 jpg 只有 200KB 阁下,而且天生 png 图片的速率显著很慢,大略需求3,4秒。
另外还做了极其测试,用了一近 600M 的 PSD 文件天生 jpg 缩略图,速率根本正在2秒内,文件巨细没有到 2.5M ,因为并未对图片进行尺寸的修正,以是终极天生文件的体积能够依据实际状况再减小。
第五步、其它格局
除了了 PSD 文件,我还另外测验考试了一些其它格局,比方 MP4 、AVI 等视频格局,但天生速率超等慢。最初发现比拟适用的就是天生 PDF 文件的缩略图,但解决 PDF 文件前,需求装置 Ghostscript ,而后全体的代码根本以及天生 PSD 的代码同样
$im = new Imagick(); $im->readImage('D:/soft/wamp/www/test/1.pdf[0]'); //echo $im->getNumberImages(); $im->writeImages('D:/soft/wamp/www/test/1.jpg', false);
更多php相干常识,请拜访php教程!
以上就是若何经过imagick让PHP天生PSD文件缩略图(实例)的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 Imagick
抱歉,评论功能暂时关闭!