gpt4 book ai didi

imagemagick - 如何使用 iMagick 将图像叠加在另一个图像之上

转载 作者:行者123 更新时间:2023-12-03 23:24:29 26 4
gpt4 key购买 nike

概览:

我得到了两个图像。分辨率为 1920x1080p 的背景图片和分辨率小于 1920x1080p 的叠加图片。

背景图片(1920x1080):

enter image description here

叠加图像:(任何尺寸小于 <= 1920x1080)

enter image description here

结果图像(1920x1080):

enter image description here

我试图将覆盖图像准确地覆盖在背景图像的中心。我知道如何使用 ImageMagick 做到这一点。

使用 ImageMagick 的解决方案:

convert -composite -gravity center background.png overlay.png result.png

扩展:

我希望在 Imagick::compositeImage 的帮助下使用 iMagick 做同样的事情和 gravity center .所以请任何人都可以帮助我。

最佳答案

Imagick 包装了 C-API MagickWand它不会自动继承 -composite -gravity行为。您需要自己进行数学计算。

$background = new Imagick( __DIR__ . DIRECTORY_SEPARATOR . '6pEEG.png');
$window = new Imagick(__DIR__ . DIRECTORY_SEPARATOR . 'mpyY3.png');

$deltaX = $background->getImageWidth() - $window->getImageWidth();
$deltaY = $background->getImageHeight() - $window->getImageHeight();

$background->compositeImage($window,
Imagick::COMPOSITE_ATOP,
$deltaX / 2,
$deltaY / 2);

How to overlay an image on top of another image using iMagick

关于imagemagick - 如何使用 iMagick 将图像叠加在另一个图像之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com