如何在PHP中使用imagefilter()函式為影像應用濾鏡?


imagefilter() 是PHP中一個內建函式,用於為影像應用指定的濾鏡。

語法

bool imagefilter(resource $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4)

引數

imagefilter() 接受六個不同的引數 - $image、int $filtertype、int $arg1、int $arg2、int $arg3、int $arg4。

  • $image - 它儲存影像資源。

  • $filtertype - 指定要使用的濾鏡,它是一個整數。

以下是給定的不同影像濾鏡常量:

  • IMG_FILTER_NEGATE - 反轉影像的所有顏色。

  • IMG_FILTER_GRAYSCALE - 透過將紅色、綠色和藍色分量更改為它們的加權和,將影像轉換為灰度。

  • IMG_FILTER_BRIGHTNESS - 更改影像的亮度。arg1 用於設定亮度級別。亮度的範圍為 -255 到 255。

  • IMG_FILTER_CONTRAST - 更改影像的對比度。$arg1 用於設定對比度級別。

  • IMG_FILTER_COLORIZE - 此影像濾鏡類似於 IMG_FILTER_GARYSCALE,除了我們可以指定顏色外,它使用引數 arg1、arg2 和 $arg3 以紅色、綠色、藍色的形式,而 arg4 用於 alpha 通道。每個顏色的範圍為 0 到 255。

  • IMG_FILTER_EDGEDETECT - 此濾鏡用於邊緣檢測,以突出顯示影像中的邊緣。

  • IMG_FILTER_GAUSSIAN_BLUR - 對影像應用高斯模糊。

  • IMG_FILTER_SELECTIVE_BLUR - 對影像應用選擇性模糊。

  • IMG_FILTER_EMBOSS - 對影像應用浮雕效果。

  • IMG_FILTER_MEAN_REMOVAL - 去除影像噪點並提供素描效果。

  • IMG_FILTER_SMOOTH - 使影像更平滑。$arg1 用於設定平滑度級別。

  • IMG_FILTER_PIXELATE - 對影像應用畫素化效果。$arg1 用於設定塊大小,$arg2 用於設定畫素化效果模式。

  • IMG_FILTR_SCATTER - 對影像應用散射效果。$arg1arg2 用於定義效果強度,$arg3 用於應用於選定的畫素顏色。

可選引數列表

arg1

  • IMG_FILTER_BRIGHTNESS - 用於亮度級別。

  • IMG_FILT_CONTRAST - 用於對比度級別。

  • IMG_FILTER_COLORIZE - 用於紅色分量的值。

  • IMG_FILTER_SMOOTH - 用於平滑度級別。

  • IMG_FILTER_PIXELATE - 用於以畫素為單位的塊大小。

  • IMG_FILTER_SCATTER - 用於效果減法級別。

arg2

  • IMG_FILTER_COLORIZE - 用於藍色分量的值。

  • IMG_FILTER_PIXELATE - 是否使用高階畫素化效果(預設為 false)。

  • IMG_FILTER_SCATTER - 效果加法級別。

arg3

  • IMG_FILTER_COLORIZE - 用於藍色分量的值。

  • IMG_FILTER_SCATTER - 可選的陣列索引顏色值以應用效果。

arg4

  • IMG_FILTER_COLORIZE - Alpha 通道,0 到 127 之間的值。0 表示完全不透明,而 127 表示完全透明。

返回值

成功時返回 True,失敗時返回 False。

示例 1

<?php
   // Load the gif image from the local drive folder.
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // Colorize the image
   imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);

   // Show the output image
   header('Content-type: image/gif');
   imagepng($img);
?>

輸出

示例 2

<?php
   // Load the gif image from the local drive folder.
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // Negative the image
   imagefilter($img, IMG_FILTER_NEGATE);

   // Show the output image
   header('Content-type: image/gif');
   imagepng($img);
?>

輸出

更新於: 2021年8月9日

742 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.