PHP ImageMagick - 图像平铺


在本章中,您将学习重复平铺纹理图像。平铺纹理图像是创建图案的过程,其中纹理图像以平铺的形式重复。

使用 ImageMagick,您可以轻松地将图像平铺成大小相等的块。您还可以调整每块的大小和方向,以便您根据需要自定义平铺图像。在本教程中,我们将解释如何使用 PHP ImageMagick 的图像平铺来创建令人惊叹的美丽平铺图像,从而获得完美的效果!

句法

Imagick::textureImage(Imagick $texture_wand): Imagick

该函数由一个参数组成

  • “纹理棒”。它是一个用作纹理图像的 Imagick 对象。

  • 下面的例子是一个平铺图像的程序。除了“textureImage()”之外,该程序还使用了一些附加功能。

  • 新图像创建- 它涉及使用函数“newImage()”创建新图像,该函数将列大小和行大小作为参数。因此,创建了具有这些测量值的图像。

  • 缩放图像- 函数“scaleImage()”用于将图像缩放到特定尺寸,并且图像会随着这些尺寸而缩短,因此可以平铺在我们创建的新图像上。

该函数将图像作为输入,获得的输出是包含纹理图像图块图案的图像。

例子

下面的示例显示了“textureImage()”函数的实现。在这里,使用指定的测量值和颜色作为参数创建一个新的 Imagick 对象。

  • 图像格式也已设置。然后,通过创建新的 Imagick 对象将图像作为输入。

  • 现在,使用“scaleImage()”函数将图像缩放到某个特定尺寸。

  • 缩放后的图像连续平铺在开始时使用“textureImage()”函数创建的新图像上。

  • 最终输出以“textureImage.png”的形式获得。

<?php
   $img=new Imagick();
   $img->newImage(940, 670, new ImagickPixel('red'));
   $img->setImageFormat("jpg");
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg");
   $image->scaleimage($image->getimagewidth() / 8, $image->getimageheight() / 8);
   $img=$img->textureImage($image);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/textureImage.png");
?>

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

图像平铺

输出

图像平铺