给定这两个大小为 512x512 且背景透明的图像:
circle.png
inner.png
我想叠加这两个图像,使它们居中显示并将图像尺寸缩小到 64x64。我最初的尝试如下:
convert -background none inner.png circle.png -layers flatten -resize 64x64 output.png
这会产生:
从设计的角度来看,内部图像相对看起来有点太大了,所以我想把它缩小一点。尽管在技术上居中,但我更愿意将其向右移动一点,但不会增加图像的总宽度。我认为这需要使用-geometry
. 我尝试了很多组合,但我从来没有得到想要的效果。例如
convert -background none inner.png -geometry 256x256 circle.png -layers flatten -resize 64x64 output.png
生产
从某种意义上说,内心的形象相对变小了,但不是我想象的那样。
任何想法如何使用 imagemagick 来完成?
您可能希望尝试以下方法:
在哪里:
-gravity Center告诉 ImageMagick 将任何“子图像”(
inner.png
) 相对于背景图像 (circle.png
) 居中。-geometry 256x256+30+5调整大小
inner.png
,256x256
然后将其位置水平向右偏移 30 个像素 (+),垂直向下偏移 5 个像素 (+)。这个偏移量被认为是相对于它的当前位置(受‑gravity
上面的影响)。-composite根据当前的-compose设置(默认值为)获取第一张图像(
circle.png
)并覆盖第二张图像()。重叠图像 ( ) 的位置由和设置控制。inner.png
Over
inner.png
-gravity
-geometry
结果
前任。最终合成图像 (
-resize 256x256 output.png
)