array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.imagefilter.php', 1 => 'imagefilter', ), 'up' => array ( 0 => 'ref.image.php', 1 => 'GD ve Görüntü İşlevleri', ), 'prev' => array ( 0 => 'function.imagefilltoborder.php', 1 => 'imagefilltoborder', ), 'next' => array ( 0 => 'function.imageflip.php', 1 => 'imageflip', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/image/functions/imagefilter.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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');
/* K, Y, M olarak 0, 255, 0 yeşildir */
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.