PHP ImageMagick - 图像拼接与扩展



在本章中,您将学习使用 ImageMagick 的一些内置函数来扩展图像和拼接图像。

图像扩展

在本节中,您将学习如何使用 ImageMagick 提供的 ‘spreadImage()’ 函数轻松扩展图像。扩展图像是在块中随机移动每个像素。

语法

public Imagick::spreadImage(float $radius): bool

此函数仅接受一个参数:radius。‘Radius’ 是一个浮点值,用于指定在块中移动每个像素的值。

示例

在下面的示例中,创建了一个 Imagick 对象并以图像作为输入。现在,将 ‘spreadImage()’ 函数应用于图像,并带有一个参数 (radius=5)。然后,最终图像将显示为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/imagee.png");
   $image->spreadImage(5);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/spreadImage.png");
?>

假设以下为程序中的输入图像 (image.png) -

Image Spreading

输出

Image Spreading

图像拼接

在本章中,您将学习如何使用 ImageMagick 中名为 ‘spliceImage()’ 的内置函数将纯色拼接到底片上。此函数以图像作为输入,并将纯色与指定的参数(拼接的尺寸和位置)拼接到底片上。

语法

public Imagick::spliceImage(
   int $width,
   int $height,
   int $x,
   int $y
): bool

此函数包含 4 个参数:width、height、x 和 y。‘Width’ 和 ‘height’ 是分别指定拼接宽度和高度的整数值。‘x’ 和 ‘y’ 也是整数值,分别指定 X 轴和 Y 轴上的位置。

示例

在下面的示例中,创建了一个 Imagick 对象并以图像作为输入。在该图像上,应用了 ‘spliceImage()’ 函数,并带有参数 (width=50, height=100, x=100, y=50)。然后,获得拼接后的图像作为输出。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
   $image->spliceImage(50, 100, 100, 50);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/spliceImage.png");
?>

假设以下为程序中的输入图像 (image.png) -

Image Splicing

输出

Image Splicing
广告