0

我已经从 Imagick 版本 5 切换到 Imagick 版本 6 并注意到以下内容

使用命令时:

convert -gravity SouthEast  -draw 'image Over 0,0 0,0 overlay.png'

在第 5 版中,overlay.png 正按预期添加到右下角(东南)!

但是ImageMagick 6 版本失败了,overlay.png 的位置在左上角!

该命令用于typo3“imgResource.params” http://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Imgresource/Index.html

但我认为这与CMS无关,而是与im5和im6的兼容性有关

任何人都知道如何解决这个问题...?

4

1 回答 1

1

您可以改用此命令:

convert background.jpg foreground.jpg -gravity SouthEast -compose Src_Over -composite output.jpg

所以如果这是我们的背景:

在此处输入图像描述

这是我们的前景:

在此处输入图像描述

我们得到以下结果:

在此处输入图像描述

实际上,我认为他在图像的另一侧看起来更好,但仍然脸向内:-)

convert background.jpg \( tiger.png -flop \) -gravity SouthWest -compose Src_Over -composite out.jpg

在此处输入图像描述

更新的答案

很遗憾听到该命令在内部不起作用typo3。这里有另一个版本可能对你有用......

首先获取背景和前景图像的宽度和高度 - 我想有一种方法可以做到这一点typo3,但我会这样做:

identify -format "%w %h" background.jpg 
906 603

所以背景是 906 px 宽和 603 px 高,并且

identify -format "%w %h" tiger.png
258 296

老虎是 258 x 296 像素。然后我们可以geometry像这样叠加使用,通过从背景的宽度和高度中减去老虎的宽度和高度,得到从图像左上角的偏移量:

convert background.jpg tiger.png -geometry +648+307 -composite out.png

这给出了与 相同的效果gravity southeast。也许这会让你到达那里......

上次更新了一个

这个必须让你到达那里......只需在原始draw命令中放置正确的偏移量,而不是依赖gravity. 所以前两个数字是叠加图像左上角与背景图像左上角的 x,y 偏移量,第二个 x,y 对是叠加图像右下角的偏移量。所以基本上,

x1,y1 = width background - width overlay, height background - height overlay
x2,y2 = width background, height background

convert background.jpg -draw 'image Over 648,307 906,603 tiger.png' out.jpg
于 2014-10-30T16:55:21.967 回答