PHP ImageMagick - 拼接和传播


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

图像传播

在本节中,您将学习使用Imagemagick 提供的“spreadImage()”函数轻松传播图像。传播图像是随机移动块中的每个像素。

句法

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

该函数仅接受一个参数:半径。“Radius”是一个浮点值,指定替换块中每个像素的值。

例子

在下面的示例中,创建了一个 imagick 对象并将图像作为输入。现在,“spreadImage()”函数通过单个参数(半径=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 个参数:宽度、高度、x 和 y。“宽度”和“高度”是分别指定拼接宽度和高度的整数值。“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) -

图像拼接

输出

图像拼接