如何通过imagick让PHP生成PSD文件缩略图(实例)
ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。
通过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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

通过php和Imagick实现图片透明化处理简介:图片透明化处理是一种常见的图像处理需求,通过将图片中的某个颜色或区域变为透明,可以实现各种特效效果。本文将介绍如何使用php和Imagick库来实现图片透明化处理,并提供代码示例供参考。Imagick是一款功能强大的图片处理库,它提供了丰富的图像处理功能,包括图片的读取、编辑、保存等。通过Imagick,我们

使用php和Imagick实现图片尺寸调整的最佳实践引言:在现代互联网时代,图片是网页和应用程序中不可或缺的一部分。为了提升用户体验和加快网页加载速度,通常需要将图片进行尺寸调整,以适应不同的显示设备和分辨率。本文将介绍如何使用php和Imagick库来实现图片尺寸调整的最佳实践,并提供代码示例。一、安装Imagick扩展在开始之前,我们首先需要确保在服务器

使用PHP和Imagick实现图片的颜色转换导语:在Web开发中,我们经常需要对图片进行处理,其中一个常见的需求就是修改图片的颜色。本文将介绍如何使用PHP和Imagick扩展来实现图片的颜色转换。Imagick是PHP的一个强大的图像处理扩展,它提供了许多功能丰富的方法,包括图像剪切、缩放、旋转等等。而在颜色转换方面,Imagick也提供了一系列方法来实现

如何使用PHP和Imagick对图片进行色彩调整引言:在Web开发中,有时我们需要对图片进行色彩调整,以满足设计要求或优化图片效果。PHP提供了丰富的图像处理库,其中Imagick是一个功能强大、易于使用的扩展,可以轻松地对图片进行色彩调整。本文将介绍如何使用PHP和Imagick来实现图片的色彩调整,并给出相应的代码示例。一、安装Imagick扩展:要使用

通过php和Imagick将多个图片合成为一个在网页开发中,有时候我们需要将多个图片合成为一个,以方便展示和节省页面加载时间。在这篇文章中,我们将介绍如何使用php和Imagick库来实现这个功能。Imagick是一个强大的图片处理库,它提供了丰富的图像处理方法和函数。首先,我们需要在php中安装Imagick扩展。接下来,我们将通过以下代码示例演示如何将多

通过php和Imagick实现图片的锐化处理在现代的图片处理中,锐化是一项常见的技术,它可以提升图片的细节和清晰度,使图片更加生动。在本文中,我们将介绍如何使用php和Imagick库来实现图片的锐化处理。首先,确保你的服务器上已经安装了Imagick库。如果没有安装,你可以通过以下命令来安装:sudoapt-getinstallphp-imagick

通过PHP和Imagick实现图片的裁剪和缩放摘要:在Web开发中,经常需要对图片进行裁剪和缩放以适应各种需求。本文将介绍如何使用PHP和Imagick库来实现图片的裁剪和缩放,并提供代码示例供读者参考。引言:随着互联网的快速发展,图片在网页中扮演着越来越重要的角色。然而,由于每个网页都有各自的布局和尺寸要求,往往需要对图片进行裁剪和缩放来适应不同的场景。P

通过php和Imagick实现图片的切片效果在web开发中,图片的处理是很常见的需求。其中,图片的切片效果是一种非常常用的处理方式。通过将一张大图切分成若干个小图,可以有效减小图片的加载时间,并且更加灵活地展示图片内容。本文将介绍如何使用php和Imagick扩展来实现图片的切片效果。首先,我们需要确保服务器上已经安装了php以及Imagick扩展。如果没有
