【发布时间】:2016-10-02 07:50:09
【问题描述】:
问题: ImageMagick convert 无法裁剪图像。好像无法识别图片类型?
我的尝试:
我在网上搜索了几个类似的问题,但不是我的。 我尝试了他们的解决方案,包括
- 通过 brew 卸载并重新安装 ImageMagick。
- identify -list 格式(JPEG、GIF、PNG、TIFF 等都在那里,并且都具有 rw 权限)
- convert -version (png 是内置委托之一)
- 转换 pic1.png pic1-jpg.jpg (效果很好)
- 转换 pic1-jpg.jpg pic1-jpg.jpg (效果很好)
- convert pic1-jpg.jpg 805X972+34+94 pic1-jpg-crop.jpg (这给出了与 png 相同的错误,如下所示)
我在 Mac OSX El Capitan 上工作,终端中的其他一切工作正常。 ImageMagick 已经安装。
我跑步时:
$ convert /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487.png 805X972+34+94 /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487-cropped.png
我明白了:
转换:无法打开图像`805X972+34+94':没有这样的文件或目录@error/blob.c/OpenBlob/2702。
转换:此图像格式没有解码委托 `' @error/constitute.c/ReadImage/504。
此图像格式没有解码委托 `' @error/constitute.c/ReadImage/504
在关于这个问题的其他帖子中,人们得到了
将此图像格式“PNG”转换为无解码委托
或类似(图像类型或文件名和图像类型除外)
但是,我的并没有说明图像文件类型...
我没有尝试卸载 ImageMagick 然后从源手动安装它,因为我对此不太有信心......(显示此解决方案:https://stackoverflow.com/a/34633084/5398660)
有人知道会发生什么吗?
另外,谁能帮我解释一下 @error/constitute.c/ReadImage/504 部分?我正在查看constitute.c 的代码,但我不确定是否可以从中获得有用的信息来解决我的问题(我只知道一点 C)
谢谢!
【问题讨论】:
-
我认为您在
805X972+34+94之前缺少命令运算符。 convert 实用程序将几何参数视为文件路径。 -
试试
convert /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487.png -crop 805X972+34+94 /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487-cropped.png -
哈哈,谢谢 emcconville,我刚刚发布了这个解决方案。我想知道它是否与此处发布的示例不同:apple.stackexchange.com/a/128000/156787 因为它是 El Capitan
-
您可以通过在裁剪坐标
convert /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487.png[805X972+34+94] /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487-cropped.png周围添加括号 [...] 或在裁剪坐标之前放置 -crop 来实现。
标签: image bash macos imagemagick imagemagick-convert