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)−

图像传播

输出

图像传播

图像拼接

在本章中,您将学习使用 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()' 函数以及参数(宽度=50、高度=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)−

图像拼接

输出

图像拼接