如何在 Windows 系统上安装 ImageMagick 进行图像编辑

  • ImageMagick 允许您通过命令行自动编辑和转换 200 多种格式的图像。
  • 在 Windows 系统中,关键是要将 ImageMagick 路径添加到 PATH 环境变量中,并使用 magick 命令进行验证。
  • 对于 Web 集成,PHP 中的 ImageMagick 和 Omeka 或 AEM 等工具都利用了 ImageMagick 的功能。
  • 它在处理大型图像或用户上传的图像时,会处理安全性和内存消耗问题。

ImageMagick的

如果你每天都要处理图像,迟早你会想要自动化一些重复性任务,例如转换格式、批量调整图像大小或生成统一的缩略图。到那时, ImageMagick 成为不可或缺的盟友因为它提供了一个非常强大的命令行,无需打开任何图形编辑器即可链接操作,即使您更喜欢使用图形编辑器。 在线编辑照片的网站.

本指南将一步一步地向您解释。 如何在 Windows 系统上下载、安装和配置 ImageMagick 这样您就可以完全放心地从终端开始编辑。您还将看到实际示例、如何与 PHP(Imagick)集成、处理大型图像时需要考虑的性能问题等等。 如何降低处理用户上传文件时的安全风险.

ImageMagick是什么?它为什么值得学习?

ImageMagick 是一款功能强大的免费软件套件,能够…… 创建、编辑、合成和转换位图图像它支持超过200种格式,包括PNG、JPEG、JPEG-2000、GIF、TIFF、DPX、EXR、WebP、PostScript、PDF和SVG等。 几乎任何工作流程都涵盖在内。 无需安装额外插件,即使是 RAW 文件也可以——更多替代方案请参见 用于编辑 RAW 图像的程序.

通过控制台,您可以调整图像大小、旋转、翻转、裁剪、扭曲图像、更改颜色配置文件、调整位深度或应用特效。所有这些操作还可以串联使用: 订单可以合并到一个通话中非常适合在服务器或工作站上进行脚本编写和自动化操作。

关于命名规则的一个重要细节:在旧版本中,主二进制文件被调用为 convert而现在的建议是使用 magick。 在 Windows 上, 最好始终使用 magick 因为有一个系统命令叫做 convert 这可能会导致冲突。

如何在 Windows 系统上安装 ImageMagick 进行图像编辑

在 Windows 上下载并安装

要获取正确的版本,请前往官方下载页面并向下滚动到相应部分。 Windows 二进制版本在那里您可以找到适用于 64 位和 32 位系统的安装程序; 选择与您的系统相对应的架构 然后通过 HTTP 或 FTP 下载可执行文件(如果一个失败,请尝试另一个)。

运行安装程序时,请继续 下一页 直到找到安装路径。最好保留默认位置,以避免权限或路径问题。 当出现选项屏幕时,选中“将应用程序目录添加到系统路径”复选框。此选项会将 ImageMagick 添加到系统 PATH 环境变量中,并允许您运行它。 magick 从任何文件夹。

如果需要,您也可以启用“开始”菜单快捷方式。最后,按下 安装等它完成并关闭 完成。有了这个, 现在你应该能够从命令提示符中使用该工具了。 无需额外步骤。

(如果忘记了)请手动将 ImageMagick 添加到您的 PATH 环境变量中。

如果在安装过程中没有启用 PATH 选项,您可以手动启用:打开“高级系统设置”>“环境变量”并进行编辑 用户或系统的 Path 变量添加 ImageMagick 的安装文件夹,例如: C:\Program Files\ImageMagick-7.x.x-Q16.

要验证路径是否已正确添加,请打开终端并运行 where magick如果出现可执行文件路径, 这意味着Windows可以毫无问题地找到它。如果不是,请检查 Path 变量中是否存在断开的引号或奇怪的字符。

检查所有功能是否正常。

打开命令提示符并输入 magick你不会向它传递参数,所以你会看到 ImageMagick 本身提供的帮助或使用说明;重要的是…… 未出现“无法识别为命令”之类的系统错误。如果获得帮助,则安装成功。

如果出现错误,请检查您下载的版本是否正确(x64 或 x86),您的杀毒软件是否阻止了安装,以及…… 使用扩展程序或集成程序时,应该不会出现版本冲突。 (例如,PHP Imagick)。

首要任务:转换和基本调整大小

要将 PNG 图片转换为 JPG 图片并调整图片质量,请运行类似这样的命令: magick convert Imagen.png -quality 10 Imagen.jpg。 因此, 你生成一个压缩率很高的JPEG图像以减小文件大小。在实际场景中,你会使用更高的画质设置,但原理是一样的。

如果您想先检查文件,请使用 magick identify 查看格式、尺寸或颜色配置文件。使用变体 -verbose, 您将获得非常有用的详细数据 当您调试流程或遇到问题图像时。

合并操作很简单。例如,要更改格式并缩放,您可以执行以下操作: magick input.jpg -resize 800x600 -quality 90 output.png只需一条命令, 您需要将图像准备成所需的尺寸和格式。 无需中间步骤。

如果您在 GIMP 中处理多层 XCF 文件,转换过程可能会为每个图层生成单独的输出。为避免这种情况,请添加 -flatten (别名 -layers flatten) 等等 将所有图层合并成一张图像。 例如,在转换为 PNG 格式之前。

ImageMagick的

Windows 上的 PHP 集成(Imagick)

要从 PHP 中使用 ImageMagick,可以使用扩展名。 想像它提供了一个非常完整的 API,用于加载、操作和保存图像。在 Windows 系统上,请从官方 PECL 存储库下载适用于您的 PHP 版本和架构的二进制文件,然后…… 非常重要这与编译该扩展程序时使用的 ImageMagick 版本相同。

在 XAMPP 环境中,典型的配置是在以下位置安装 ImageMagick: C:\xampp\imagemagick, 复制 php_imagick.dll a C:\xampp\php\ext 并启用该扩展程序 php.iniextension=php_imagick.dll重启 Apache 后, PHP应该可以毫无问题地加载该扩展程序。.

  1. 将 ImageMagick 安装到不带空格的文件夹中(例如, C:\xampp\imagemagick).
  2. 复制 php_imagick.dll en C:\xampp\php\ext.
  3. php.ini yañade extension=php_imagick.dll.
  4. 重启 Apache 以应用更改。

如果您使用的是 Omeka,请将 ImageMagick 路径设置为 C:\xampp\imagemagick路由测试可能会发出警告,但是 处理过程通常正常。在激活 ImageMagick 之前已经上传的图片不会自动生成衍生图片,因此您需要重新上传它们。

PHP 实用示例:解码 base64 编码的图像,创建缩略图,并在发送到浏览器之前添加一个淡淡的边框。这对于合作伙伴徽标或 数据库中存储的动态负载.

<?php
// $imagedata: cadena base64
$image = base64_decode($imagedata);

$im = new Imagick();
$im->readImageBlob($image);

// Miniatura max 200x82 manteniendo aspecto
$im->thumbnailImage(200, 82, true);

// Borde claro 1px
$color = new ImagickPixel("rgb(220,220,220)");
$im->borderImage($color, 1, 1);

header("Content-Type: " . $im->getImageFormat());
// Enviar imagen resultante
echo $im->getImageBlob();
?>

使用 Adob​​e Experience Manager (AEM)

在企业环境中,Adobe Experience Manager 可以利用 ImageMagick。 命令行处理步骤 用于处理资产。当文件导入数字资产管理系统 (DAM) 时,通常会自动执行一些任务,例如翻转图像或生成多个缩略图。

一个典型的例子是向……添加 JPEG 图片。 /content/dam制作微缩模型 140×100、48×48、319×319和1280×1280除了根据工作流程需要进行翻转或颜色调整之外,如果您使用多种格式,请查看格式最佳实践和兼容性列表。 保证衍生品的一致性.

性能:大图像、内存和限制

处理大型文件会显著增加内存使用量,并影响系统整体性能。诸如以下因素会导致这种情况: 分辨率、位深度、色彩配置文件和格式 它们会产生直接影响。在需要进行密集型批处理的服务器或工作站上,应根据预期负载来配置 CPU、内存和磁盘。

在 Windows 系统中,您可以通过运行参数来控制资源。 -limit (内存、内存映射、线程),或来自 policy.xml。 例如: magick -limit memory 2GiB -limit map 4GiB input.tif -resize 50% output.tif在合理范围内, 您阻止了异常文件阻塞机器。.

安全:风险与缓解

处理用户上传的图片时,存在安全漏洞的风险,包括: 远程代码执行(RCE) 由于解析器或委托存在缺陷,ImageMagick 并非唯一受影响的库:其他流行的库和绑定,例如 Imagick(PHP)、RMagick/Paperclip(Ruby)以及依赖于 ImageMagick 的 Node.js 包,也都面临着同样的攻击风险。

为缓解此问题,请始终保持 ImageMagick 及其依赖项为最新版本,并应用 限制性政策 policy.xml (禁用不需要的格式和委托,例如如果您不使用 PostScript/PDF,请禁用它们),使用权限最小的临时目录,并预先验证 MIME 类型和标头。在多用户或高曝光环境中, 隔离这些过程 (容器、权限降低的帐户)增加了一层额外的保护。

其他提示和兼容性

记住 magick y convert在较旧的系统中,你会发现一些调用脚本。 convert,但 在 Windows 系统中,这样做更安全。 magick 为避免与系统原生命令冲突,如果您维护旧项目,请检查快捷键或脚本在更新后是否仍然有效,并考虑以下事项。 免费图片编辑应用 用于本地进程。

如果您也使用 Linux 或容器,则二进制文件通常会安装在以下位置: /usr/bin/ (例如: /usr/bin/convert, /usr/bin/mogrify, /usr/bin/identify那里,一个 apt-get install imagemagick 如果你使用 PHP, apt-get install php-imagick 加载扩展程序。然而,在 Windows 系统中, 路径取决于您在安装过程中所做的选择。 以及路径。

对于高级工作流程(蒙太奇、对比、合成或动画),请探索诸​​如以下工具: montage, compare o composite即使你不每天都使用它们, 值得密切关注它们。 当您需要执行特定任务时,例如视觉测试或自动拼贴画。

综上所述,您现在拥有一个完善的环境,可以使用 ImageMagick 在 Windows 系统上编辑、转换和自动化处理图像。这包括 PATH 环境变量的安装、基本命令、批处理脚本、PHP 集成以及性能和安全方面的注意事项。 现在,您可以将图像工作流程提升到一个更加高效的水平。 无需通过繁琐的手动操作来增加生活的复杂性。

在 Windows 上免费编辑照片
相关文章:
在 Windows 上免费编辑照片:适合所有人的应用程序和程序终极指南