【发布时间】:2018-01-03 07:57:34
【问题描述】:
【问题讨论】:
标签: imagemagick graphicsmagick
【问题讨论】:
标签: imagemagick graphicsmagick
【讨论】:
smush 操作员 AFAIK。
假设所有图片的尺寸都正确,这可能是最简单的:
convert -size 10x10 green.png xc:white black.png -append xc:white red.png -reverse +append result.png
这就是说... “将小垫片的大小设置为 10x10。加载绿色图像,然后制作白色垫片,然后加载黑色图像并将它们垂直附加在一起。制作另一个白色垫片。加载红色图像。反转图像的列,使最近添加的红色列位于左侧而不是右侧,并排附加图像。"
我是这样做的(从右侧开始),因为 GraphicsMagick 不提供括号。
如果图像的大小尚未合适,您将看到类似这样的内容 - 仍然是一个命令:
convert -size 10x10 \
\( green.png -resize somehow \) \
xc:white \
\( black.png -resize somehow \) \
-append \
xc:white \
\( red.png -resize somehow \) \
-reverse +append result.png
【讨论】:
+append 和 -append 时从右到左或从下到上附加图像时,它非常方便自然是从左到右,从上到下!如果你明白我的意思;-) 你也可以多次使用-swap 来达到同样的效果。
red.png -resize somehow 的部分更改为red.png -resize WxH\!,其中 W 是您想要的宽度,H 是您想要的高度 - 大概是绿色和黑色的高度之和加上 10px 间隔。
xc:white是什么意思?
在 ImageMagick 中执行此操作的另一种方法是将 3 个图像合成到白色背景图像的正确角落。
创建图像:
convert -size 250x250 xc:green green.png
convert -size 250x250 xc:black black.png
convert -size 250x510 xc:red red.png
流程:
convert -size 510x510 xc:white \
red.png -gravity northwest -composite \
green.png -gravity northeast -composite \
black.png -gravity southeast -composite \
result.png
【讨论】: