问题标签 [mogrify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

batch-file - 调整仅今天修改的缩小图像

我正在尝试使用名为mogrify.

对于 (.jpg, .png, .gif) 中的 %G 执行 forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"

但是,当 mogrify 工具针对找到的路径运行时,它会出错,提示调整大小 arg 无效。

mogrify.exe:InvalidArgument `80Ã╬0>':-resize @error/mogrify.c/MogrifyImageCommand/5754。

我相信问题与价值有关,并且它包含^>. 需要该>符号来告诉工具仅缩小宽度或高度,我认为^需要它作为转义字符。

独立地,该命令确实起作用并且图像被调整大小:

mogrify.exe -resize 800x800^> -quality 80 -strip "image1.jpg"

如果我删除调整大小参数,该命令也可以工作,但当然图像没有调整大小:

对于 (.jpg, .png, .gif) 中的 %G 执行 forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -quality 80 -strip @path"

我还尝试过用双引号将值括起来并^多次转义,但似乎没有任何效果。

对于什么值得我可以得到以下工作,但从^调整大小值中删除和添加引号。

cmd /c C:\ImageMagick\mogrify.exe -resize "800x800>" -quality 80 -strip image1.JPG


所以总结一下,我如何正确地将调整大小的值添加800x800>到以下命令中?

对于 (.jpg, .png, .gif) 中的 %G 执行 forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"

0 投票
3 回答
923 浏览

bash - 需要裁剪+调整大小 ~300000 个文件。运行时间 = 4 天以上。如何加快我的 bash 脚本?

我正在制作一个视频游戏中时光倒流。我拍摄的所有照片都是以 4:3 纵横比拍摄的 .jpg 图像。2592x1944 分辨率。我希望它们在 1920x1080 时都是 16:9。

我已经编写了一个小脚本来执行此操作,但过程不是很快。我花了大约 17 分钟裁剪和调整 750 张图像的大小。我总共要处理大约 300,000 个,并且可能会分批处理大约 50,000 个。即每批 18 小时 45 分钟,计算总时间超过 4.5 天。

那么有谁知道我可以加快这个程序的方法吗?

这是我编写的 bash 脚本:

在循环中的每一行之前和之后放置一些 echo 命令表明调整大小比裁剪需要更多的时间,我想这并不奇怪。我尝试过使用mogrify -path cropped -resize 1920x1440! $f代替,convert $f -resize但速度似乎没有太大差异。

那么,有什么方法可以加快运行时间吗?

如果您可以向我展示一种简单的方法来简单地指示程序运行的进度(例如“750 个文件中的 421 个,完成 56.13%”),则获得奖励积分。

如果您可以添加一个命令以从每个帧中输出一个 .mp4 文件,该文件可以在 SONY Vegas 等软件程序中进行编辑,则可以获得额外奖励积分。我已经设法从这些照片中使用 mencoder 制作视频文件 (.avi),但生成的视频在我尝试过的任何视频编辑器中都不起作用。

0 投票
1 回答
1603 浏览

image - 使用 Imagemagick 压缩超大分辨率图像文件

我有一些分辨率为 20400x28056 的扫描图像。我希望它们使用 imagemagick 进行压缩。我试过 convert ToBeCompressed.jpeg -quality 70 output.jpeg了,但是这个命令让我的笔记本电脑崩溃了。我认为它无法处理如此大的分辨率。请有任何建议。

0 投票
2 回答
2383 浏览

linux - 在大量图像上使用 mogrify 会出错

我正在使用 mogrify 使用以下命令调整目录中的图像大小

由于图像数量巨大,我收到以下错误

有什么建议么?

谢谢

0 投票
3 回答
570 浏览

regex - 使用 mogrify 将一些图像调整到另一个目录到相同的文件名

这些是我目录中的文件:

我想:

  1. 采取公正01_v2.png02_v2.png
  2. 将其调整为750x1334
  3. 将其放在父目录中04_4,7
  4. 但具有相同的文件名01_v2.png02_v2.png

我来到了这个命令:

该命令对第 1-3 点有效,但对第 4 点无效。

它正在重命名01_v2.png01.png02_v2.png02.png但我希望输出文件名与输入文件名相同。

0 投票
2 回答
219 浏览

imagemagick - 批量裁剪图像到固定高度 (CLI)

我有可变高度和宽度的图像,我想将它们全部裁剪为 200 像素高,而无需调整大小。即它们的宽度将保持不变,高度将是 200px。我想为此使用“北”重力。

任何允许批处理的 CLI 工具都可以 - imagemagick/mogrify、gm 等。我试图弄清楚这一点,但找不到任何选项来不指定宽度。

0 投票
2 回答
6716 浏览

imagemagick - ImageMagick:如何将多个 TIFF 文件批量合并到一个目录中的单个 TIFF 文件中?

我在一个目录 c:\temp 中有 600 个 TIFF 文件。

文件名如下:

合并的文件应放在同一目录中,文件应命名为:

我正在寻找通过 ImageMagick convert/ mogrifycommand 或任何其他命令/工具来执行此操作的任何单个命令行 /batch-file。

请注意,总时间不应超过 5 秒。

0 投票
2 回答
2788 浏览

imagemagick - Minimagick 错误:libgomp:线程创建失败:资源暂时不可用

我正在尝试使用 MiniMagick / ImageMagick / mogrify 对照片进行批量转换,我继续看到:

libgomp: Thread creation failed: Resource temporarily unavailable

它可以很好地处理前 500 张左右的照片,然后似乎在 3093 张中的第 494 张照片上停滞不前。

有谁知道为什么会这样?

0 投票
1 回答
1670 浏览

imagemagick - 防止 ImageMagick 使用索引颜色?

我有一些透明的PNG图像。但是,每当我对图像使用 ImageMagick 进行任何操作(例如裁剪)时,它会将一些图像更改为“索引”颜色而不是 RGB。更改的图像恰好少于 256 种颜色,但转换破坏了透明度。

从一些研究中,我发现您可以在文件名前面加上png32:强制 RGB,但这仅在使用convert命令时有效,而不是mogrify.

我可以-format png32使用 mogrify 添加,但这会将所有图像重命名为*.png32.

假设你可以这样做:

但它不起作用,图像仍然是索引颜色而不是 RGB。如何使用 mogrify 强制 PNG32?

0 投票
2 回答
1351 浏览

svg - 如何使用 MiniMagick 使 SVG 到 PNG 渲染不忽略大小和字体选项?

我正在使用minimagick将 SVG 图像动态调整为 PNG 图像。

这是我的代码:

myFont图像被渲染,但它是 512x512 图像(视口大小),并且在渲染中未使用字体。

知道如何解决这个问题吗?