☛ 什么是 ImageMagick?

ImageMagick,ImageMagick 是一个功能强大的开源软件套件,用于显示、转换和编辑光栅图像文件。它可以读取和写入 200 多种图像文件格式,使其成为处理图像的多功能工具。ImageMagick 通常用于在不同图像格式之间进行转换、调整图像大小和裁剪、应用各种效果和滤镜以及生成缩略图等任务。它提供了一个用于批处理的命令行界面,以及用于集成到 Python、PHP 和 Perl 等编程语言中的库。ImageMagick 由于其灵活性和广泛的功能而广泛用于 Web 开发、图形设计和科学应用程序。

ImageMagick 为图像处理和处理提供了广泛的功能。以下是一些主要功能:

⑴ 图像转换: ImageMagick 支持 200 多种图像格式之间的转换,包括 JPEG、PNG、GIF、TIFF 和 BMP 等流行格式。

⑵ 图像编辑: 它为基本图像编辑任务提供了工具,例如调整大小、裁剪、旋转、翻转和调整颜色。

⑶ 图像效果: ImageMagick 允许用户对图像应用各种效果和滤镜,包括模糊、锐化、浮雕、边缘检测等。

⑷ 图像合成:用户可以将多个图像合成在一起,将文本或图形叠加到图像上,并创建复杂的图像合成。

⑸ 批处理: ImageMagick 支持批处理,允许用户同时对多个图像进行作。

⑹ 图像分析:它提供用于分析图像的工具,包括提取元数据、识别颜色、测量图像属性和执行基本的图像识别任务。

⑺ 命令行界面: ImageMagick 可以通过命令行界面使用,使其易于集成到脚本和自动化工作流程中。

⑻ 编程接口: 它提供用于将 ImageMagick 集成到 Python、PHP、Perl、Ruby 等编程语言的 API 和库。

⑼ 高质量渲染: ImageMagick 使用高质量的渲染算法来确保准确且视觉上令人愉悦的结果。

⑽ 跨平台兼容性: ImageMagick 可用于多个平台,包括 Linux、Windows、macOS 和各种 Unix 系统。

总体而言,ImageMagick 是一款用于图像处理、编辑和作的多功能且功能强大的工具,适用于广泛的应用,包括 Web 开发、图形设计、科学分析等。

☛ 什么是 Imagick?

Imagick 是一个 PHP 扩展,它为 ImageMagick 库提供包装器,允许 PHP 开发人员使用 ImageMagick 的功能访问和作图像。它使 PHP 脚本能够执行广泛的图像处理任务,例如调整大小、裁剪、旋转、应用滤镜和效果以及在不同图像格式之间进行转换。

借助 Imagick,PHP 开发人员可以直接在其 PHP 应用程序中利用 ImageMagick 的强大功能,从而更轻松地处理图像并以编程方式执行复杂的图像作。此扩展通常用于 Web 开发中,用于生成缩略图、处理用户上传的图像、创建动态图像内容等任务。

Imagick 在 PHP 中提供了一个面向对象的接口,使熟悉面向对象编程原理的开发人员可以直观地使用。此外,它还提供了大量的文档和示例,以帮助开发人员开始有效地将图像处理功能集成到他们的 PHP 应用程序中。

☛ 更新 Rocky Linux 服务器

首先以 root 用户身份登录您的 Linux 服务器。为此,您可以使用您选择的任何 SSH 客户端,例如 PuTTY 或 Linux 或 macOS 中的内置终端。成功登录后,您将拥有对服务器的管理访问权限。

接下来,在 Linux 终端中执行以下命令以更新您的 Rocky Linux 服务器。这将确保所有已安装的软件包都是最新的,具有最新的安全补丁和软件改进,从而优化系统的性能和稳定性。

[root@localhost]# dnf update -y

如果上述命令更新了您的 Linux 内核,那么您应该重启 Linux 服务器,然后再继续学习此 Linux 教程。

[root@localhost]# reboot

记下 Linux 作系统和 Linux 内核的版本。

[root@localhost]# cat /etc/rocky-release
Rocky Linux release 9.1 (Blue Onyx)

[root@localhost]# uname -r
5.14.0-162.23.1.el9_1.x86_64

☛ 安装 ImageMagick 先决条件

在这里,我们将 ImageMagick 与 PHP-Imagick 一起安装,以供 Web 应用程序用于图像转换。现在,许多读者心中出现了一个问题:

是否必须为 ImageMagick 设置 LAMP 服务器?

答案肯定不是。

您可以轻松地在 Linux 服务器上单独安装 ImageMagick。但据观察,ImageMagick 最常用于 Web 应用程序。因此,我们在这里安装基于 PHP 的 Web 服务器。

执行以下 dnf 命令以在 Rocky Linux 9 上安装 Apache 和 PHP。

[root@localhost]# dnf install -y httpd php-fpm

启用并启动 Apache 和 PHP 服务。

[root@localhost]# systemctl enable --now httpd php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

为确保您的网站可通过网络访问,允许 HTTP 服务通过 Linux 防火墙至关重要。通过执行此作,您可以在端口 80 上启用传入流量,这是向用户提供网页所必需的。如果防火墙阻止 HTTP 流量,则无法从外部网络访问您的网站。按照必要的步骤配置防火墙设置,确保 HTTP 服务已正确启用,并且您的网站可以不受任何限制地访问。

[root@localhost]# firewall-cmd --permanent --add-service=http
success
[root@localhost]# firewall-cmd --reload
success

☛ 安装第三方 Yum 存储库

ImageMagick 可通过 EPEL(Enterprise Linux 的额外软件包)存储库获得,该存储库提供了默认 Linux 存储库中未包含的其他软件包。要访问和安装 ImageMagick,您首先需要在系统上启用 EPEL 存储库。该存储库包含各种有用的工具和实用程序,包括 ImageMagick,这些工具和实用程序对于 Linux 服务器上的各种任务至关重要。要启用 EPEL 存储库,只需执行以下命令即可。启用后,您将能够轻松地直接从 EPEL 安装 ImageMagick 和其他软件包。

[root@localhost]# dnf install -y epel-release

此外,您还可以启用 CRB (CodeReady Builder) yum 存储库。请注意,在 Rocky Linux 9 中,Power Tools 存储库已被 CRB 存储库取代。启用执行以下 Linux 命令的 CRB 存储库。

[root@localhost]# /usr/bin/crb enable
Enabling CRB repo
CRB repo is enabled and named: crb

为新安装的 yum 存储库构建 yum 缓存。

[root@localhost]# dnf makecache

☛ 在 Linux 上安装 ImageMagick 软件

现在所有必要的存储库都已成功设置,您可以在您的 Linux 系统上安装 ImageMagick。启用 EPEL 存储库后,该过程将变得简单明了。您可以通过在终端中调用一个简单的命令来轻松安装 ImageMagick 及其所有依赖项。这将确保下载并安装最新版本的 ImageMagick,从而允许您在服务器上利用其强大的图像处理功能。按照下面的命令完成安装并启动 ImageMagick。

[root@localhost]# dnf install -y ImageMagick ImageMagick-devel

检查 Magick-config 的版本以验证 ImageMagick 的安装。

[root@localhost]# Magick-config --version
6.9.12-82 Q16

☛ 安装 Imagick ( PHP 扩展 )

PHP Imagick 是一个 PHP 扩展,用于使用 ImageMagick API 创建和修改图像。您需要安装 PHP 开发和 PHP Pear 来安装和管理 PHP 扩展。

[root@localhost]# dnf install -y php-devel php-pear make

现在,您可以通过执行 pecl 命令来安装 PHP Imagick。

[root@localhost]# pecl install imagick

将 Imagick 扩展名添加到 php.ini 文件。

[root@localhost]# echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

重启 Apache 和 PHP 服务以加载 Imagick 模块。

[root@localhost]# systemctl restart httpd php-fpm

执行以下命令以验证 Imagick 模块是否加载成功。

[root@localhost]# php -m | grep imagick
imagick