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
廣告

© . All rights reserved.