首页 > 软件开发 > PHP >

通过 imagick 让 PHP 生成 PSD 文件缩略图

来源:互联网 2023-03-16 18:50:32 版权归原作者所有,如有侵权,请联系我们

教会大家如何通过 imagick 让 PHP 生成 PSD 文件缩略图7PB办公区 - 实用经验教程分享!

工具/原料

  • 安装 ImageMagick(目前最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)

方法/步骤

  • 1

    第一步、安装ImageMagick7PB办公区 - 实用经验教程分享!

      首先需要安装ImageMagick,因为imagick 是一个可以供 PHP 调用 ImageMagick 功能的PHP扩展。(目前最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)7PB办公区 - 实用经验教程分享!

      安装目录不能有空格,我个人是安装在 C 盘根目录:7PB办公区 - 实用经验教程分享!

    C:ImageMagick7PB办公区 - 实用经验教程分享!

    7PB办公区 - 实用经验教程分享!

    一路默认安装即可,安装完毕后打开 CMD 命令行界面,输入:convert,并按回车,如果能看到一大堆的内容则表示安装成功。7PB办公区 - 实用经验教程分享!

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

      我的电脑 -> 单击右键 -> 属性 -> 高级 -> 环境变量 -> 系统变量 -> 找到“Path” -> 选中并点击进行编辑 -> 把你的安装路径添加进去。7PB办公区 - 实用经验教程分享!

  • 2

    第二步、安装imagick7PB办公区 - 实用经验教程分享!

      注意下载的时候要下对应的 PHP 版本,同时注意系统是32位还是64位,以及 PHP 是 NTS 版还是 TS 版(目前最新稳定版是3.1.2 ,关于如何判断 PHP 是 NTS 版还是 TS 版,可通过 phpinfo 查看其中的 Thread Safety 项,如果是enabled 就代表是 TS 版,否之则就是 NTS 版)7PB办公区 - 实用经验教程分享!

      将下载的压缩包解压,找到php_imagick.dll 文件,把它放到 PHP 的扩展目录里,然后打开 php.ini 文件,在对应的位置添加以下一行:7PB办公区 - 实用经验教程分享!

    extension=php_imagick.dll7PB办公区 - 实用经验教程分享!

      保存退出后并重启电脑,确保生效。7PB办公区 - 实用经验教程分享!

  • 3

    第三步、检查7PB办公区 - 实用经验教程分享!

      如果一切正常,重启后在 phpinfo 里应该能看到 imagick 项,如图。如果找不到,则返回第一步,更换不同版本的ImageMagick 重新安装并重新调试。7PB办公区 - 实用经验教程分享!

    通过 imagick 让 PHP 生成 PSD 文件缩略图7PB办公区 - 实用经验教程分享!

  • 3该信息未经许可获取自百度经验
  • 4

    第四步、测试7PB办公区 - 实用经验教程分享!

    OK,到这一步可以开始编写代码了,过程就不细说了,直接上代码7PB办公区 - 实用经验教程分享!

    以下代码已经经过测试可以正确生成出一张 1.jpg 的图片。7PB办公区 - 实用经验教程分享!

    建议缩略图还是以 jpg 格式,因为 png 格式不支持压缩,我在测试的时候使用 30M 的 PSD 文件,生成出来的 png 缩略图有 3M 多,而 jpg 只有 200KB 左右,并且生成 png 图片的速度明显很慢,大概需要3,4秒。7PB办公区 - 实用经验教程分享!

      另外还做了极端测试,用了一近 600M 的 PSD 文件生成 jpg 缩略图,速度基本在2秒内,文件大小不到 2.5M ,由于并未对图片进行尺寸的修改,所以最终生成文件的体积可以根据实际情况再减小。7PB办公区 - 实用经验教程分享!

    通过 imagick 让 PHP 生成 PSD 文件缩略图7PB办公区 - 实用经验教程分享!

  • 5

    第五步、其它格式7PB办公区 - 实用经验教程分享!

     除了 PSD 文件,我还另外尝试了一些其它格式,比如 MP4 、AVI 等视频格式,但生成速度超级慢。最后发现比较实用的就是生成 PDF 文件的缩略图,但处理 PDF 文件前,需要安装Ghostscript,然后整体的代码基本和生成 PSD 的代码一样7PB办公区 - 实用经验教程分享!

    1 $im = new Imagick();7PB办公区 - 实用经验教程分享!

    2 $im->readImage('D:/soft/wamp/www/test/1.pdf[0]');7PB办公区 - 实用经验教程分享!

    3 //echo $im->getNumberImages();7PB办公区 - 实用经验教程分享!

    4 $im->writeImages('D:/soft/wamp/www/test/1.jpg', false);7PB办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!7PB办公区 - 实用经验教程分享!


    标签: PHPACDSEECAD电脑软件

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号