【问题标题】:Image Magick Mogrify @ error/blob.c/OpenBlob/3497 Permission DeniedImage Magick Mogrify @error/blob.c/OpenBlob/3497 权限被拒绝
【发布时间】:2019-10-25 15:38:48
【问题描述】:

我想使用 ImageMagick 调整一批 Image 的大小。

我使用了在 stackOverflow 上找到的 this command

同一级有两个目录

  • "img_resize" 我想在其中放置调整大小的图像。
  • “image_models”,其中有我的图像。

我用过:

magick mogrify -path "img_resize" -resize 512x512 -gravity Center -extent 512x512 "image_models"

得到:

mogrify: unable to open image 'img_resize': Permission denied @ error/blob.c/OpenBlob/3497.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/556.

我试过不使用两个目录:

cd image_models
magick mogrify -resize 512x512 -gravity Center -extent 512x512

它不显示错误;但还是什么都没做。

因此,“转换”命令运行良好。问题来自 mogrify。

我使用的是 Windows 10。我使用终端,终端以管理员身份运行。

我也尝试使用 ./dir 而不是“dir”

提前致谢。

【问题讨论】:

  • 删除第一个命令中所有不必要的双引号并将最后一个参数更改为image_models\*

标签: image powershell imagemagick image-manipulation imagemagick-convert


【解决方案1】:

如果您的当前目录是您提到的两个文件夹的基础,请使用相对路径和通配符作为源:

magick mogrify -path ".\img_resize\" -resize 512x512 -gravity Center -extent 512x512 ".\image_models\*"

在 A:\Test 文件夹中运行示例:

> Get-ChildItem -Recurse

Verzeichnis: A:\test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019-06-11     11:30                image_models
d-----       2019-06-11     11:31                img_resize

    Verzeichnis: A:\test\image_models

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2018-11-02     22:32         679624 AucklandOneTreeHillIanRushton_01.jpg
-a----       2018-11-02     22:32         529290 AucklandOneTreeHillIanRushton_02.jpg

    Verzeichnis: A:\test\img_resize

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2019-06-11     11:31          53545 AucklandOneTreeHillIanRushton_01.jpg
-a----       2019-06-11     11:31          50687 AucklandOneTreeHillIanRushton_02.jpg

【讨论】:

  • 正如在主题上提到的,我尝试在没有 -path 参数的情况下应用调整大小,但它没有做任何事情。我猜除了pah之外还有一个问题。但是我尝试了你的命令,它没有做任何事情:img_resize dir 仍然是空的。
  • 如果没有路径,原始文件将被覆盖。根据您当前的目录,您需要提供带有通配符的相对/绝对路径。上面的代码和我描述的变体都在这里工作。
  • WITHOUT -path 参数将保持不变。对于我的原始工作命令,相对路径依赖于 IN 两个文件夹的共同父级。
猜你喜欢
  • 1970-01-01
  • 2018-08-20
  • 2015-08-30
  • 1970-01-01
  • 2013-07-28
  • 2018-07-19
  • 2018-02-05
相关资源
最近更新 更多