微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用丢失的文件创建固定大小的图像蒙太奇

如何解决使用丢失的文件创建固定大小的图像蒙太奇

设置

假设我们有一个 N 元素的列表,其中一个元素可以要么是图像的路径(例如 a.jpg)或 NULL 表示文件丢失。

示例 (N = 6):a.jpg,NULL,c.jpg,f.jpg

所有提及的图像(a.jpgc.jpgf.jpg)都保证具有相同的分辨率。

任务

创建一个固定宽度的 montage(例如 out.jpg),其中 NULL 值被替换为 黑色 图像,其分辨率与a.jpgc.jpgf.jpg 的常见分辨率。我不想创建实际的 black.jpg,而是希望根据需要即时创建图像。

解决方法

使用 ImageMagick 的“蒙太奇”命令,如果您的图像尺寸已知,那么您可以将其包含在命令中,并且如果您可以生成图像文件的文本文件“list.txt”并将“xc:black”放在每一行都没有像这样的图像......

image00.png
image01.png
image02.png
image03.png
image04.png
xc:black
image06.png
image07.png
xc:black
xc:black
image10.png
image11.png

您可以像这样运行 ImageMagick 的“蒙太奇”命令...

magick montage @list.txt -tile 3x4 -geometry 160x160+3+3! out.png

文本文件名称前面的“@”告诉 IM 从那里读取输入图像。 “-tile”描述了结果中有多少列和行。 “-geometry”设置是您放置图像尺寸以及列和行之间的间距的地方。 “xc:black”图像是单个黑色像素,但感叹号将它们强制转换为“-geometry”参数中的 W 和 H 维度。

这将在列表中包含“xc:black”的所有位置创建黑色图像。如果您还想用黑色填充空格之间,请在命令中添加“-background black”。

这对我来说适用于 IMv7 和“magick montage ...” 对于 IMv6,您只需使用“montage”。我很确定该命令的其他所有内容都会以相同的方式工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。