宝哥软件园

用PHP中的imagick生成PSD文件缩略图教程

编辑:宝哥软件园 来源:互联网 时间:2021-10-14

步骤1:安装ImageMagick。

首先需要安装ImageMagick http://imagemagick.org/script/binary-releases.php#windows,因为imagick是一个PHP扩展,允许PHP调用ImageMagick函数。(目前最新版本是ImageMagick-6.8.9-5-Q16-x64-dll.exe)

安装目录中不能有空间。我个人安装在c盘根目录下:复制代码如下:C:ImageMagick默认可以一路安装。安装后,打开CMD命令行界面,输入:convert,然后按enter。如果可以看到很多内容,说明安装成功。

如果提示“convert不是内部或外部命令,也不是可运行的程序或批处理文件”或提示“请输入转换的驱动器号”(convert是将FAT32转换为NTFS的默认系统命令),则需要自己将ImageMagick的安装路径添加到系统路径中。

我的电脑-右键单击-属性-高级-环境变量-系统变量-查找“路径”-选择并单击进行编辑-添加您的安装路径。

步骤2:安装imagick。

点击这里下载,下载时注意对应的PHP版本,注意系统是32位还是64位,PHP是NTS还是TS(目前最新稳定的版本是3.1.2,对于如何判断PHP是NTS还是TS,可以通过phpinfo查看Thread Safety项,如果启用则表示TS,否则为NTS)。

解压下载的压缩包,找到PHP _ imagik.dll文件,放在PHP的扩展名目录下,然后打开php.ini文件,在对应的位置加下面一行:复制代码如下: extension=PHP _ imagik.dll保存退出,重启电脑保证其有效性。

第三步:检查。

如果一切正常,重启后应该可以在phpinfo中看到imagick项,比如:

如果找不到,请返回第一步,用不同版本的ImageMagick替换,重新安装并重新调试。

第四步:测试。

好了,到了这一步,就可以开始写代码了,所以不要细说过程了,直接去写代码就可以了。

复制代码如下: error _ reporting(e _ error | e _ warning);$ im=new Imagick(' 1 . PSD ');$ im-setImageIndex(0);$ im-setIteratorIndex(0);$ im-strip image();//移除图片信息$ im-setimagecompressquality(80);//图片质量$ im-write image(' 1 . jpg ');以上代码已经过测试,可以正确生成1.jpg的图片。

建议缩略图还是jpg格式,因为png格式不支持压缩。我在测试的时候用了30M的PSD文件,生成的png缩略图超过3M,而jpg只有200KB左右。此外,生成png图像的速度显然很慢,大约需要3或4秒钟。

此外,还做了一个极限测试。一个接近600米的PSD文件被用来生成jpg缩略图。速度基本在2秒以内,文件大小小于2.5M m,由于图像大小没有修改,最终生成的文件体积可以根据实际情况缩小。

第五步:其他格式。

除了PSD文件,我还尝试了一些其他格式,比如MP4、AVI等视频格式,但是生成速度极其缓慢。最后发现生成PDF文件的缩略图更实用,但是在处理PDF文件之前,需要安装Ghostscript,然后整体代码基本和生成PSD的代码一样。

复制代码如下: $ im=new imagik();$ im-readImage(' d :/soft/wamp/www/test/1 . pdf[0]');//echo $ im-getNumberImages();$ im-write images(' d :/soft/wamp/www/test/1 . jpg ',false);

更多资讯
游戏推荐
更多+