PHP ImageMagick - 图像平铺



在本节中,您将学习如何重复平铺纹理图像。平铺纹理图像是指创建一种纹理图像重复出现的图案,这些图案以平铺的形式存在。

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

语法

Imagick::textureImage(Imagick $texture_wand): Imagick

此函数包含一个参数

  • ‘texture_wand’。 它是一个 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) -

Image Tiling

输出

Image Tiling
广告