如何使用 imagemagick 像字符串的 "trim()" 一样批量裁剪图像的空白?
How to use imagemagick to bulk crop images' whitespace just like the "trim()" of a string?
我有很多用户上传的PNG。
但是,它们周围有空格,应将其删除。
例如:
这样的图片:
应裁剪成这样的图像:
如果我想对目录及其所有子目录中匹配 *_spec.PNG
个文件的所有文件执行此操作,我应该怎么做?
示例文件:
Folder
|
Subfolder1 - file1_spec.png
- file2_spec.png
- file3.png
|
Subfolder2 - filea.png
- fileb1_spec.png
我需要对这些文件执行此操作:
- Subfolder1/file1_spec.png
- Subfolder1/file2_spec.png
- Subfolder2/fileb1_spec.png
更新:
- OS:MacOSX Mojave 10.14.6
- Imagemagick 版本:7.0.10-22 Q16 x86_64 2020-06-27
在您执行任何操作之前,我会在备用目录中复制您的文件。然后进入顶层目录运行:
find . -iname "*_spec.png" -exec mogrify -trim {} \;
请注意,有更有效的方法可以做到这一点,但它们的可读性较差,只有当您有数万个或更多文件时才真正值得这样做。对于任何感兴趣的人,这意味着使用 GNU Parallel and/or 每次调用 ImageMagick 修剪多个文件以更好地分摊流程创建多个文件的时间。
我有很多用户上传的PNG。
但是,它们周围有空格,应将其删除。
例如:
这样的图片:
应裁剪成这样的图像:
如果我想对目录及其所有子目录中匹配 *_spec.PNG
个文件的所有文件执行此操作,我应该怎么做?
示例文件:
Folder
|
Subfolder1 - file1_spec.png
- file2_spec.png
- file3.png
|
Subfolder2 - filea.png
- fileb1_spec.png
我需要对这些文件执行此操作:
- Subfolder1/file1_spec.png
- Subfolder1/file2_spec.png
- Subfolder2/fileb1_spec.png
更新:
- OS:MacOSX Mojave 10.14.6
- Imagemagick 版本:7.0.10-22 Q16 x86_64 2020-06-27
在您执行任何操作之前,我会在备用目录中复制您的文件。然后进入顶层目录运行:
find . -iname "*_spec.png" -exec mogrify -trim {} \;
请注意,有更有效的方法可以做到这一点,但它们的可读性较差,只有当您有数万个或更多文件时才真正值得这样做。对于任何感兴趣的人,这意味着使用 GNU Parallel and/or 每次调用 ImageMagick 修剪多个文件以更好地分摊流程创建多个文件的时间。