Imagemagick蒙太奇的大小变化

时间:2015-10-20 15:44:57

标签: random imagemagick

我尝试在Imagemagick蒙太奇中使用我的图像之间的随机空间 我的原始剧本是:

montage images/* -mode Concatenate -tile 12x -geometry +10+10 -background white tile.png

......我需要类似的东西:

montage images/* -mode Concatenate -tile 12x -geometry +($RANDOM%200+0)+($RANDOM%200+0) -background white tile.png

这可能吗?

1 个答案:

答案 0 :(得分:1)

-geometry仅在开始时评估一次,因此我认为您的预期方法不会起作用。您可以抓取12个图像并总计其宽度加上11个随机大小的间隙,然后创建一个足够大的画布来放置图像,或者制作一堆间隔块以随机向下移动图像。< / p>

所以,这是一个粗略的起点,你可能会建立一些东西......我知道你不希望背景变黄,但是我这样设置,所以你可以看到我在做什么。我基本上在水平条纹中布置了红色,绿色和蓝色图像,但是添加了随机大小的间隔块,并且我将它们以不同的灰色阴影着色,以便您可以看到它们。

convert -background yellow                   \
   red.png xc:gray20[100x100]                \
   \( xc:gray40[80x80] green.png -append \)  \
   xc:gray60[25x25]                          \
   \( xc:gray80[200x200] blue.png -append \) \
   +append  tile.png

enter image description here

每次图像和间隔符一起出现在括号中时,基本上是一个间隔符,在图像上方,图像本身-appended低于此值。每次间隔发生在它自己的位置时,基本上就是前面图像的右边,最后,+append并排加入所有的块。

要了解我在做什么,您需要了解-append将图片从上到下放置,一个放在另一个上面,+append将图片并排放置在一起

我建议您创建一个脚本来构建命令。

基本上,你可以制作一个这样的条带,然后是另一个12并使用-append将它们粘在一起。你想要制作背景,而且所有的间隔物都是白色的。