Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Imagemagick 创建丢失文件的固定大小图像蒙太奇 背景_Imagemagick_Imagemagick Montage - Fatal编程技术网

Imagemagick 创建丢失文件的固定大小图像蒙太奇 背景

Imagemagick 创建丢失文件的固定大小图像蒙太奇 背景,imagemagick,imagemagick-montage,Imagemagick,Imagemagick Montage,假设我们有一个N个元素的列表,其中一个元素可以作为图像的路径(例如a.jpg),或者NULL表示文件丢失 示例(N=6):a.jpg,NULL,c.jpg,NULL,NULL,f.jpg 所有提到的图像(a.jpg,c.jpg,f.jpg)保证具有相同的分辨率 任务 创建一个固定宽度的montage(例如out.jpg),其中NULL值替换为黑色图像,其分辨率与a.jpg,c.jpg,f.jpg的通用分辨率一致。我不想创建实际的black.jpg,而是更愿意根据需要动态创建图像。使用ImageM

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

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

所有提到的图像(
a.jpg
c.jpg
f.jpg
)保证具有相同的分辨率

任务 创建一个固定宽度的
montage
(例如
out.jpg
),其中NULL值替换为黑色图像,其分辨率与
a.jpg
c.jpg
f.jpg
的通用分辨率一致。我不想创建实际的
black.jpg
,而是更愿意根据需要动态创建图像

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

image00.png
image01.png
image02.png
image03.png
image04.png
xc:black
image06.png
image07.png
xc:black
xc:black
image10.png
image11.png
magick montage @list.txt -tile 3x4 -geometry 160x160+3+3! out.png
您可以运行ImageMagick“蒙太奇”命令,如下所示

image00.png
image01.png
image02.png
image03.png
image04.png
xc:black
image06.png
image07.png
xc:black
xc:black
image10.png
image11.png
magick montage @list.txt -tile 3x4 -geometry 160x160+3+3! out.png
文本文件名称前面的“@”告诉IM从那里读取输入图像。“tile”描述结果中将包含多少列和行。“geometry”设置用于放置图像的尺寸以及列和行之间的间距。“xc:黑色”“图像是单个黑色像素,但感叹号在“-geometry”参数中将它们强制为W和H维度

这将在列表中“xc:black”的任何位置创建黑色图像。如果还希望用黑色填充空格之间,请在命令中添加“-background black”

这对我来说适用于IMv7和“magick蒙太奇…”对于IMv6,您只需使用“蒙太奇”。我很确定关于这个命令的其他一切都会以同样的方式工作