(PHP 5, PHP 7, PHP 8)
imagefilter — Bir görüntüye bir süzgeç uygular
imagefilter() işlevi, türü süzgeç
ile belirtilen süzgeci görüntü
ye uygular.
görüntü
imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.
süzgeç
süzgeç
şunlardan biri olabilir:
IMG_FILTER_NEGATE
: Görüntüdeki tüm renkleri zıt renge dönüştürür. IMG_FILTER_GRAYSCALE
: Görüntüyü gri tonlamalı hale getirir. REC.601 luma (Y') hesaplamasındaki katsayılar kullanılarak kırmızı, yeşil ve mavi bileşenlerin ağırlıklı ortalamalarından gri tonlama elde edilir. IMG_FILTER_BRIGHTNESS
: Görüntünün parlaklığını değiştirir. Parlaklık seviyesini belirtmek için seçenekler[0]
bağımsız değişkenini kullanın. Parlaklık -255 ile 255 arasındadır. IMG_FILTER_CONTRAST
: Görüntünün karşıtlık seviyesini değiştirir. Karşıtlık seviyesini belirtmek için seçenekler[0]
bağımsız değişkenini kullanın. IMG_FILTER_COLORIZE
: Rengi sizin belirtmeniz dışında IMG_FILTER_GRAYSCALE
gibidir. Kırmızı, yeşil ve mavi renk seviyeleri belirtmek için sırayla seçenekler[0]
, seçenekler[1]
ve seçenekler[2]
bağımsız değişkenlerini, alfa kanalı için de seçenekler[3]
bağımsız değişkenini kullanın. Ana renklerin seviyesi 0 ile 255 arasında belirtilebilir. IMG_FILTER_EDGEDETECT
: Görüntünün kenarlarını vurgulamak için kenar algılaması kullanılır. IMG_FILTER_EMBOSS
: Görüntüye kabartma uygular. IMG_FILTER_GAUSSIAN_BLUR
: Görüntüyü Gauss yöntemiyle bulanıklaştırır. IMG_FILTER_SELECTIVE_BLUR
: Görüntüyü bulanıklaştırır. IMG_FILTER_MEAN_REMOVAL
: Karalama taslak etkisi oluşturmak için silme işlemi uygular. IMG_FILTER_SMOOTH
: Görüntünün sert hatlarını yumuşatır. Yumuşatma seviyesini belirtmek için seçenekler[0]
bağımsız değişkenini kullanın. IMG_FILTER_PIXELATE
: Görüntüye mozaik etkisi verir. Mozaik boyutu için seçenekler[0]
mozaik etki kipini belirtmek için seçenekler[1]
bağımsız değişkenini kullanın. IMG_FILTER_SCATTER
: Görüntüye saçılma etkisi verir, etki gücünü tanımlamak için seçenekler[0]
ve seçenekler[1]
'i ve yalnızca seçili piksel renklerini uygulamak için seçenekler[2]
'yi kullanın. seçenekler[0]
IMG_FILTER_BRIGHTNESS
: Parlaklık seviyesi. IMG_FILTER_CONTRAST
: Karşıtlık seviyesi. IMG_FILTER_COLORIZE
: Kırmızı bileşenin değeri. IMG_FILTER_SMOOTH
: Yumuşatma seviyesi. IMG_FILTER_PIXELATE
: Piksel cinsinden mozaik boyu. IMG_FILTER_SCATTER
: Etki eksiltme seviyesi. Bu, seçenekler[1]
ile ayarlanan toplama seviyesinden daha yüksek veya ona eşit olmamalıdır. seçenekler[1]
IMG_FILTER_COLORIZE
: Yeşil bileşenin değeri. IMG_FILTER_PIXELATE
: Gelişkin mozaik etkisinin kullanılıp kullanılmayacağı (false
öntanımlıdır). IMG_FILTER_SCATTER
: Etki toplama seviyesi. seçenekler[2]
IMG_FILTER_COLORIZE
: Mavi bileşenin değeri. IMG_FILTER_SCATTER
: Etkiyi uygulamak için isteğe bağlı dizi indisli renk değerleri. seçenekler[3]
IMG_FILTER_COLORIZE
: Alfa kanalı. 0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir. Sürüm: | Açıklama |
---|---|
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi. |
7.4.0 | Saçılma desteği (IMG_FILTER_SCATTER ) eklendi. |
Örnek 1 - imagefilter() gri tonlama örneği
<?php
$im = imagecreatefrompng('dave.png');
if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
echo 'Görüntüye gri tonlama uygulandı.';
imagepng($im, 'dave.png');
}
else
{
echo 'Görüntüye gri tonlama uygulanamadı.';
}
imagedestroy($im);
?>
Örnek 2 - imagefilter() parlaklık örneği
<?php
$im = imagecreatefrompng('sean.png');
if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
echo 'Görüntünün parlaklığı değişti.';
imagepng($im, 'sean.png');
imagedestroy($im);
}
else
{
echo 'Görüntünün parlaklığı değiştirilemedi.';
}
?>
Örnek 3 - imagefilter() renklendirme örneği
<?php
$im = imagecreatefrompng('philip.png');
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
echo 'Görüntü yeşertildi.';
imagepng($im, 'philip.png');
imagedestroy($im);
}
else
{
echo 'Görüntü yeşertilemedi.';
}
?>
Örnek 4 imagefilter() negatiflik örneği
<?php
// İşlevin taşınabilir olması için, yani imagefilter() kullanamadığımız
// durumlar için kendi negatiflik işlevimizi yazalım
function negate($im)
{
if(function_exists('imagefilter'))
{
return imagefilter($im, IMG_FILTER_NEGATE);
}
for($x = 0; $x < imagesx($im); ++$x)
{
for($y = 0; $y < imagesy($im); ++$y)
{
$index = imagecolorat($im, $x, $y);
$rgb = imagecolorsforindex($index);
$color = imagecolorallocate($im, 255 - $rgb['red'],
255 - $rgb['green'], 255 - $rgb['blue']);
imagesetpixel($im, $x, $y, $color);
}
}
return(true);
}
$im = imagecreatefromjpeg('kalle.jpg');
if($im && negate($im))
{
echo 'Görüntünün negatifi başarıyla elde edildi.';
imagejpeg($im, 'kalle.jpg', 100);
imagedestroy($im);
}
else
{
echo 'Görüntünün negatifi elde edilemedi.';
}
?>
Örnek 5 imagefilter() mozaikleştirme örneği
<?php
// PHP logosunu yükleyelim, farkları göstermek için bize iki görüntü lazım
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');
// Üzerinde farkları göstermek için bir tuval oluşturalım
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));
// Her örneğe 3 piksellik mozaikleştirme uygulayalım
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);
// Farkları çıktı görüntüsünde karıştıralım
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1,
imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0,
imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);
// Farkları çıktılayalım
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Örnek 6 - imagefilter() saçılma örneği
<?php
// PHP logosunu yükleyelim
$logo = imagecreatefrompng('./php.png');
// Görüntüye çok yumuşak saçılma etkisi uygulayalım
imagefilter($logo, IMG_FILTER_SCATTER, 3, 5);
// Saçılma etkili görüntüyü çıktılayalım
header('Content-Type: image/png');
imagepng($logo);
imagedestroy($logo);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Bilginize:
IMG_FILTER_SCATTER
sonucu daima rastgeledir.