Imagemagick和Imagick有什么区别?

5
Imagemagick和Imagick有什么区别? 如何配置Imagick以使其与IIS和php 5.4.14一起工作?
5个回答

9

顺带一提,ImageMagick 不是一个“PHP 工具”,它是一个命令行实用程序,在 PHP 之前就已经存在。它可以被许多程序或人们直接使用来处理图像。

而 Imagick 是 ImageMagick API 的本地 PHP 实现 —— https://www.php.net/manual/zh/intro.imagick.php

我知道我的答案微不足道,但当涉及到很多事情(包括编程)时,魔鬼都在细节中。

很遗憾,我没有关于在 Windows/IIS 上安装带有 Imagick/ImageMagick 的 PHP 的参考资料,但我认为 DLL 答案是正确的。


你的回答并不是“微不足道的不同” - 它是准确的。它提供了有关imagick和ImageMagick之间差异的澄清。感谢您帮助我理解这两个非常不同的软件之间的区别。 - Bill Vallance

7

Imagick是一个用于php的Imagemagick API。

找到正确的dll,在php.ini中取消注释imagick并准备花费一些时间使其正常工作。


1

ImageMagick是一个用于图像处理的PHP实用工具和命令行工具。更多细节请参见此处

Imagick是一个API或类,其功能与ImageMagick相同。它提供了许多在PHP中进行图像处理的函数。有关更多细节,请参见此处

对于imagick,您还需要安装ImageMagick。运行以下命令即可:

sudo apt-get install imagemagick php5-imagick

安装要求在PHP手册中有很好的解释。


1

ImageMagick vs Imagick

ImageMagick®是一个免费且开源的软件套件,用于显示、转换和编辑光栅图像和矢量图像文件。它可以读取和写入超过200种图像文件格式,并支持各种图像操作,如调整大小、裁剪和颜色校正。--摘自出版商的网站

ImageMagick可能已经安装在您的系统上,并且与PHP和IIS无关。虽然它是一款受欢迎的图像编辑程序,但Windows用户可能会对缺少GUI感到不适;它大多数情况下是从命令行运行的。

Imagick是PHP对其ImageMagick扩展的名称。 Imagick通过包装或使用ImageMagick的大部分源代码来扩展PHP,但不一定使用ImageMagick安装的文件。

安装Imagick扩展

要启用PHP的Imagick扩展供FastCGI模块和PHP CLI使用,必须安装Imagick PECL包。注意:此处的说明适用于使用FastCGI模块调用PHP的Web服务器,而不是sapi(服务器)模块。

您可以从PHP的Windows网站开始,该网站链接到PECL扩展

使用搜索或浏览 >> 'Images',找到Imagick的链接,以获取Imagick PECL包的链接。

在PECL包页面上,指向Windows软件包的链接标记为'DLL'。跟随最新软件包的链接。如果您在DLL版本页面上,请选择适用于您的PHP、架构(x86 32位或x64)和线程安全性(TS或NTS)。FastCGI PHP始终需要NTS(非线程安全)。使用phpinfo确认您的要求。

下载PECL包并将其提取到您选择的文件夹中,例如imagick_php。在Windows上,它可以是'c:\ imagick_php'。同样在Windows上,通过移出或删除所有*.pdb文件,可以将imagick_php大小减少2/3。

通过将imagick_php路径添加到a PATH环境变量,使imagick_php可用于Imagick。

选项: 设置系统环境PATH变量;使imagick_php可用于引用PATH变量的系统上的软件,包括PHP CLI和FastCGI,但需要重新启动。

如果您更多地使用IIS而不是PHP的CLI,则可以仅与PHP共享Imagick作为FastCGI,而无需重新启动。

在“管理工具”>“IIS管理器”>“服务器”>“FastCGI设置”中,找到与网站>“处理程序映射”>“PHP-FastCGI”>“可执行文件”对应的'应用'。编辑该'应用',向环境变量集合中添加一个变量:名称为path,值为c:\imagick_php;%path% 。
将php_imagick.dll从imagick_php复制到PHP的extension_dir中。在Windows上,它可能是“c:\php\ext”。
指示PHP在启动时加载Imagick扩展。在php.ini中,添加一行 extension = imagick ,PHP 7.2+会自动找到路径和.dll文件名。
确认PHP无误加载Imagick。要么浏览到phpinfo文件并查找imagick部分,要么如果您的PHP CLI已设置,输入 set path=c:\imagick_ph;%path%然后输入 php -d extension=imagick -m,并在已加载模块列表中查找imagick。
确认Imagick扩展功能:
将examples/captcha.php从imagick_php文件夹复制到Web服务器网站。如果在Windows上,请编辑captcha.php,在其中更新setFont('Tahoma')或您系统上其他字体。
最后,浏览到captcha.php的URL。期望显示验证码图像。

-1
对于第一个问题,我认为你在问ImageMagick(而不是Image magick)和imagick之间的区别。 PHP手册给出了解释 http://php.net/manual/en/intro.imagick.php
至于第二个问题,它太广泛了,很难回答。也许你可以提出一个具体的方面或遇到的问题。

你的回答应该包含更多内容,而不仅仅是一个链接,以防链接最终失效。 - Aslan French

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接