Kir*_*ash 8 imagemagick imagick
概述:
我得到了两张图片。背景图像具有 1920x1080p 分辨率,叠加图像可以是小于 1920x1080p 的任何分辨率。
背景图片(1920x1080):

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

结果图像(1920x1080):

我试图将覆盖图像精确地覆盖在背景图像的中心。我知道如何使用 ImageMagick 来做到这一点。
使用ImageMagick的解决方案:
convert -composite -gravity center background.png overlay.png result.png
Run Code Online (Sandbox Code Playgroud)
解释:
我希望在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);
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
8299 次 |
| 最近记录: |