Imagemagick - move/offset 平铺蒙太奇中的图像?
Imagemagick - move/offset images within a tiled montage?
考虑这个例子(Ubuntu 18.04,ImageMagick 6.9.7-4 Q16 x86_64 20170114):
convert -size 300x100 xc:red red.png
convert -size 100x100 xc:blue blue.png
montage red.png blue.png -frame 5 -geometry '+0+0' -tile 1x redblue.png
这给出了下图:
我想做的是将蓝色方块移动到任意 x 位置 "within its tile";比如说将蓝色方块的左边缘与红色矩形宽度的 25% 或 50% 对齐 - 或者甚至将蓝色方块的右边缘与红色矩形的右边缘对齐。
我已经看到 -tile-offset
存在 (https://imagemagick.org/script/command-line-options.php#tile-offset),我已经用这个例子试过了,但它看起来没有任何作用。
如何在其图块内移动图像(ImageMagick 蒙太奇的一部分)?
编辑:看起来 -tile-offset
只能指定为显式图块图像(不像 -tile 1x
中那样,而是像 -tile red.png
中那样),并且:
Tile smaller image over a background with offsets? - ImageMagick
-tile-offset must come before the tiling. It represents a single global offset, not the spacing for the tiling.
这是一个例子:
convert -size 300x100 radial-gradient:\#400-\#FAA red.png
convert -size 500x500 xc: -tile-offset +100+40 +size -tile red.png -border 5 -geometry +5+5 -draw "color 0,0 reset" out.png
那么out.png是这个(点击查看全图):
...所以澄清一下 - 我想知道是否可以在 montage
tile 1x
中获得的图块内移动图像
在 ImageMagick 6 中,另一种方法是扩展透明背景,然后在扩展图像的下半部分中心合成蓝色图像。
convert -size 300x100 xc:red -background none -extent 300x200 -size 100x100 xc:blue -geometry +100+100 -composite result.png
如评论中所建议:
convert -background none red.png \( -size 25x xc:none blue.png +append \) -append result.png
或者有 2 个不同的偏移量:
convert -background none red.png \
\( -size 25x xc:none blue.png +append \) \
\( -size 50x xc:none blue.png +append \) \
-append result.png
不确定您的最终目标是什么,但您也可以这样做:
convert -gravity east -background none red.png blue.png red.png blue.png -append result.png
或者这样:
convert -gravity center -background none red.png blue.png red.png blue.png -append result.png
考虑这个例子(Ubuntu 18.04,ImageMagick 6.9.7-4 Q16 x86_64 20170114):
convert -size 300x100 xc:red red.png
convert -size 100x100 xc:blue blue.png
montage red.png blue.png -frame 5 -geometry '+0+0' -tile 1x redblue.png
这给出了下图:
我想做的是将蓝色方块移动到任意 x 位置 "within its tile";比如说将蓝色方块的左边缘与红色矩形宽度的 25% 或 50% 对齐 - 或者甚至将蓝色方块的右边缘与红色矩形的右边缘对齐。
我已经看到 -tile-offset
存在 (https://imagemagick.org/script/command-line-options.php#tile-offset),我已经用这个例子试过了,但它看起来没有任何作用。
如何在其图块内移动图像(ImageMagick 蒙太奇的一部分)?
编辑:看起来 -tile-offset
只能指定为显式图块图像(不像 -tile 1x
中那样,而是像 -tile red.png
中那样),并且:
Tile smaller image over a background with offsets? - ImageMagick
-tile-offset must come before the tiling. It represents a single global offset, not the spacing for the tiling.
这是一个例子:
convert -size 300x100 radial-gradient:\#400-\#FAA red.png
convert -size 500x500 xc: -tile-offset +100+40 +size -tile red.png -border 5 -geometry +5+5 -draw "color 0,0 reset" out.png
那么out.png是这个(点击查看全图):
...所以澄清一下 - 我想知道是否可以在 montage
tile 1x
在 ImageMagick 6 中,另一种方法是扩展透明背景,然后在扩展图像的下半部分中心合成蓝色图像。
convert -size 300x100 xc:red -background none -extent 300x200 -size 100x100 xc:blue -geometry +100+100 -composite result.png
如评论中所建议:
convert -background none red.png \( -size 25x xc:none blue.png +append \) -append result.png
或者有 2 个不同的偏移量:
convert -background none red.png \
\( -size 25x xc:none blue.png +append \) \
\( -size 50x xc:none blue.png +append \) \
-append result.png
不确定您的最终目标是什么,但您也可以这样做:
convert -gravity east -background none red.png blue.png red.png blue.png -append result.png
或者这样:
convert -gravity center -background none red.png blue.png red.png blue.png -append result.png