imagefilter

(PHP 5)

imagefilter -- 對圖像使用過濾器

說明

bool imagefilter ( resource src_im, int filtertype [, int arg1 [, int arg2 [, int arg3]]] )

imagefilter() 把過濾器 filtertype 套用到圖像上,在需要時使用 arg1arg2arg3

filtertype 可以是下列中的一個:

  • IMG_FILTER_NEGATE:將圖像中所有彩色反轉。

  • IMG_FILTER_GRAYSCALE:將圖像轉換為灰階的。

  • IMG_FILTER_BRIGHTNESS:改變圖像的亮度。用 arg1 設定亮度層級。

  • IMG_FILTER_CONTRAST:改變圖像的對比度。用 arg1 設定對比度層級。

  • IMG_FILTER_COLORIZE:與 IMG_FILTER_GRAYSCALE 類似,不過可以指定彩色。用 arg1arg2arg3 分別指定 redbluegreen。每種彩色範圍是 0 到 255。

  • IMG_FILTER_EDGEDETECT:用邊緣檢驗來突出圖像的邊緣。

  • IMG_FILTER_EMBOSS:使圖像浮雕化。

  • IMG_FILTER_GAUSSIAN_BLUR:用高斯算法模糊圖像。

  • IMG_FILTER_SELECTIVE_BLUR:模糊圖像。

  • IMG_FILTER_MEAN_REMOVAL:用平均移除法來達到輪廓效果。

  • IMG_FILTER_SMOOTH:使圖像更柔滑。用 arg1 設定柔滑層級。

注: 本函數僅在 PHP 與其捆綁的 GD 庫一起編譯時可用。

若果成功則返回 TRUE,失敗則返回 FALSE

例子 1. imagefilter() 灰階例子

<?php
$im 
imagecreatefrompng('dave.png');
if (
$im && imagefilter($imIMG_FILTER_GRAYSCALE)) {
    echo 
'Image converted to grayscale.';
    
imagepng($im'dave.png');
} else {
    echo 
'Conversion to grayscale failed.';
}

imagedestroy($im);
?>

例子 2. imagefilter() 亮度例子

<?php
$im 
imagecreatefrompng('sean.png');
if (
$im && imagefilter($imIMG_FILTER_BRIGHTNESS20)) {
    echo 
'Image brightness changed.';
    
imagepng($im'sean.png');
} else {
    echo 
'Image brightness change failed.';
}

imagedestroy($im);
?>

例子 3. imagefilter() 上彩例子

<?php
$im 
imagecreatefrompng('philip.png');

/* R, G, B, so 0, 255, 0 is green */
if ($im && imagefilter($imIMG_FILTER_COLORIZE02550)) {
    echo 
'Image successfully shaded green.';
    
imagepng($im'philip.png');
} else {
    echo 
'Green shading failed.';
}

imagedestroy($im);
?>