php

PHP ile Watermark Yapımı

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.
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:

<?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);

şu satırla değiştirmelisiniz:

imagecopy($resim, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);

Umarım faydalı olur.

Kolay gelsin,

Post Author: Oral ÜNAL

Web geliştirmeyi başta meslek olarak hayal eden fakat daha sonra bir hobi haline getiren birisiyim işte.

PHP ile Watermark Yapımı” için bir yorum

  • hüseyin

    (30 Mayıs 2012 - 09:12)

    pekala watermark’a ekliyiceğimiz resmin ortalanmasını istemiyorsak belirli kordinata ekliyiceksek ?

Yorum yazma sırası sizde!