Imagemagick命令几何不起作用

时间:2017-05-23 07:28:26

标签: imagemagick imagemagick-convert

我的大小为350x500的image1.jpg和另一个像阴影这样的渐变效果的image2.png(350x150)。我需要将阴影应用到底部的image1.jpg。但几何对我来说不起作用。

convert -extent 600x700\! image1.jpg \( image2.png -geometry +0+500 \) -composite final.png

我希望几何体能够在我给出的位置定位图像,如果我是对的,几何体对我来说不起作用。

2 个答案:

答案 0 :(得分:2)

不确定你想要达到的目标,但这很接近:

convert xc:red[350x500] -extent 600x700\! xc:blue[350x150] -geometry +80+300 -composite result.png

enter image description here

也许您的PNG文件中有一些遗留的分页信息,您可以在加载后立即添加+repage来删除它:

convert ... ... image.png +repage ...

您可以这样识别:

enter image description here

答案 1 :(得分:2)

也许你想要的是在ImageMagick中使用-gravity和-geometry的组合。例如

convert -size 600x700 xc:white xc:red[350x500] -geometry +50+50 -composite xc:blue[350x150] -gravity south -geometry +0+20 -composite -bordercolor black -border 1 result1.png

enter image description here

在这里,我创建了尺寸为600x700的白色图像,并将红色图像合成了50像素的x和y向下和向右。然后我将重力设置为南,并将蓝色图像从底部合成20像素。我添加了黑色边框,因此更容易看到图像边界。

或者,您可以向带有负值的-extent添加偏移量,以将白色相对于红色移位。这样您就不必创建第一个白色图像并将红色合成到它上面。

convert xc:red[350x500] -extent "600x700-50-50" xc:blue[350x150] -gravity south -geometry +0+20 -composite -bordercolor black -border 1 result2.png

enter image description here

但不幸的是,范围的偏移似乎削减了红色图像的高度。所以我认为这不是一个有效的解决方案。