我正在尝试使用 ImageMagick 来操作 Rails 应用程序中的照片,但是当我上传照片并发布时,出现此错误,
“使用 MiniMagick 操作图片失败,可能不是图像?原始错误:ImageMagick/GraphicsMagick 未安装”
当我尝试这样做时,
irb
require 'mini_magick'
filename = '/Users/me/tmp/testfile.jpg'
image = MiniMagick::Image.open(filename)
它给出错误“给出错误...MiniMagick::Invalid: ImageMagick/GraphicsMagick 未安装”
ImageMagick已添加到系统路径,并且安装成功,我可以通过cmd命令行打开imagemagick并调出界面,不知道是否有人可以提供帮助。
为我的操作系统安装了正确版本的 ImageMagick。
还安装了 vcomp120.dll。
编辑:这只是在开发服务器上,而不是在生产中。
为了回答我自己的问题,在 ImageMagick 网站二进制文件下载部分,我使用的是 Windows x64,那里有一个包含三个命令的列表
magick logo: "logo.gif"
magick identify "logo.gif"
magick display "logo.gif"
我遇到了错误
display: delegate library support not built-in '' (X11) @ error/display.c/DisplayImageCommand/1888.
。然后我按照@Bonzo 评论安装了 GraphicsMagick。仍然有问题,并了解到很多人在转换图像时遇到问题,并在 Windows 安装程序中安装旧实用程序纠正了此添加、convert.exe、mogrify 等。然后我收到错误...Wrong JPEG library version: library is 90, caller expects 62...
然后我搜索并发现其他人遇到了这个错误,并删除具有冲突的“libjpeg”文件的程序,对我来说这是 GraphicsMagic,我卸载并显示图像现在很好。
还要检查您的代表配置
magick convert -list configure
并确保 jpeg 或您想要使用的任何格式。
错误消息“ImageMagick/GraphicsMagick 未安装”表示 ImageMagick 或 GraphicsMagick 扩展在您的 Windows 系统上不可用或未正确配置。这些是一些 PHP 扩展依赖于进行图像处理的外部图像处理库。
要解决此问题,您可以按照以下步骤操作:
下载并安装ImageMagick:
更新 PHP 配置:
extension=imagick
(或类似)开头的行。如果它被注释掉(开头有分号;
),请通过删除分号来取消注释。下载并安装GraphicsMagick:
更新 PHP 配置:
extension=gmagick
(或类似)开头的行。如果它被注释掉(开头有分号;
),请通过删除分号来取消注释。验证安装:
创建一个包含以下内容的 PHP 文件并在浏览器中访问它:
<?php
phpinfo();
?>
检查与 ImageMagick 或 GraphicsMagick 相关部分的输出,以确认扩展已正确加载和配置。
按照这些步骤操作后,错误应该得到解决。如果仍然遇到问题,请确保 ImageMagick 或 GraphicsMagick 可执行文件的路径包含在系统的 PATH 环境变量中。此外,请仔细检查 PHP 配置,以确保启用并正确配置正确的扩展。