|
29 Temmuz 2010, Perşembe
PHP ile Watermark Yapımı
PHP ile sitenizdeki resimlerinize watermark tekniğini uygulayabilirsiniz.

Merhaba arkadaşlar,
Bugünkü makalemde PHP ve HTACCESS yardımı ile web sitenizdeki resimlerinize nasıl watermark yani resimlerin üzerine kendi logonuzu nasıl ekleyebileceğinizden bahsediyorum.
Öncelikle dört adet dosyaya ihtiyacımız olacak. Bunlar:
- watermark.php
- .htaccess
- logo.png
- resim001.jpg
Bunları kendiniz tedarik edin. Yani watermark.php ve .htaccess isimli iki dosya oluşturun. Daha sonra arkaplanı transparan ve opacity'si %60-%70 civarında olan bir PNG logo oluşturun kendinize. En sonra olarak da elinizdeki JPG resimlerden birini alın. Bunların hepsini bir klasöre atın.
Şimdi gelelim dosyalarımızın içeriklerine..
watermark.php:
$dizin = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
// İstenilen resmi alalım $resim = imagecreatefromstring(file_get_contents($dizin));
$w = imagesx($resim); $h = imagesy($resim);
// Watermark'ı yükleyelim.. Logo.png'yi değiştirin... $watermark = imagecreatefrompng('logo.png'); $ww = imagesx($watermark); $wh = imagesy($watermark);
// Logoyu resimle birleştiriyoruz imagecopy($resim, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);
// Resmi basalım... header('Content-type: image/jpeg');
// Şu anda JPG kalitesi %75'dir. Bu varsayılan ayardır. Bunu %100 yapmak için şunu kullanın imagejpeg($resim,null,100); imagejpeg($resim); exit(); ?>
.htaccess:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule .(gif|jpeg|jpg|png)$ watermark.php [QSA,NC]
Bu dosyalarınızın bulunduğu klasördeki bütün resimlerde artık logo.png diye belirttiğiniz dosya bulunacaktır.
Ekstra Özellikler:
- Sistemde varsayılan olarak JPG Quality yani JPG kalitesi %75'dir. Bunu arttırmak için imagejpeg($resim); satırını imagejpeg($resim, null, %100); şeklinde değiştirin. %100 kısmını kendinize göre düzenleyin.
- Eğer watermark logonun üzerine eklediğiniz resmi ortalamasını istiyorsanız aşağıdaki satırı
imagecopy($resim, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);
imagecopy($resim, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);
Umarım faydalı olur.
Kolay gelsin,
Oral ÜNAL
TR Kodlama - Kaynağı Görüntüle

RSS ile haberlerimizi takip edin.
|