PHP Watermark Yapımı

23 saat önce Admin tarafından WEB: Komut Dosyaları, PHP Komut Dosyaları, PHP - Diğer kategorisinde yayınlandı.

PHP sistemlerde resim üzerine yazı ekleme, resim üzerine resim ekleme gibi watermark yapımı ile ilgili bilgiler yer almaktadır.

İçerik

PHP Watermark Yapımı

HP ile resim üzerine resim ekleme veya filigran ekleme olarak bilinen watermark yapımı iki resmin birleştirilmesinden ibarettir.

🔤 Açıklama:

Yazının resmin sağ alt köşesinde olması için çeşitli konum hesaplamaları yapılmıştır.

Böylece yazının uzunluğu değiştikçe her zaman yazının düzgün eklenmesi sağlanmıştır.

🔤 Resim Üzerine Yazı Ekleme:

Aşağıdaki örnekte imagecreatefromjpeg fonksiyonu ile jpeg formatında bir resim açılarak imagestring fonksiyonu ile resim üzerine yazı yazma işlemi gerçekleştirilmiştir.

<?php

header('content-type: image/jpeg');

$dosya = 'resim.jpg';
$yazi = 'CSArea.org;

$mevcut_resim = imagecreatefromjpeg($dosya);
list($genislik, $yukseklik) = getimagesize($dosya);

$yazi_genislik = imagefontwidth(5) * strlen($yazi);
$yazi_yukseklik = imagefontheight(5);

$yazi_renk = imagecolorallocate($mevcut_resim, 255, 255, 255);
$yazi_sag = $genislik - $yazi_genislik;
$yazi_sol = $yukseklik - $yazi_yukseklik;

imagestring($mevcut_resim, 5, $yazi_sag, $yazi_sol, $yazi, $yazi_renk);

imagejpeg($mevcut_resim);

?>

🔤 PHP Watermark Yapımı:

PHP ile resim üzerine resim ekleme veya filigran ekleme olarak bilinen watermark yapımı iki resmin birleştirilmesinden ibarettir.

İşlem için imagecopymergeimagecopy vb. resim birleştirme fonksiyonları kullanılabilir.

<?php

header('content-type: image/jpeg');

$dosya = 'resim.jpg';
$logo = 'logo.png';

$mevcut_resim = imagecreatefromjpeg($dosya);
$eklenen_resim = imagecreatefrompng($logo);
list($genislik, $yukseklik) = getimagesize($logo);

$sag = imagesx($mevcut_resim) - $genislik;
$sol = imagesy($mevcut_resim) - $yukseklik;

imagecopy($mevcut_resim, $eklenen_resim, $sag, $sol, 0, 0, $genislik, $yukseklik);
//imagecopymerge($mevcut_resim, $eklenen_resim, $sag, $sol, 0, 0, $genislik, $yukseklik, 50);

imagejpeg($mevcut_resim);

?>

Watermark yapımı sırasında iki adet resme ihtiyaç vardır.

Bu resimlerden birisi mevcut/yüklenen resim diğeri ise üzerine eklenecek logo/filigran resmidir.

Resimleri dosya formatına göre imagecreatefromjpegimagecreatefrompngimagecreatefromgif vb. fonksiyon ile açıp resim birleştirme fonksiyonları ile birleştirilir.

Birleştirme sırasında eklenen resmin konumunun iyi hesaplanması faydalı olacaktır.

Eklenen resmi mevcut resmin ortasına eklemek için gerekli hesaplamanın

$sag = (imagesx($mevcut_resim) - $genislik) / 2;
$sol = (imagesy($mevcut_resim) - $yukseklik) / 2;

olarak düzeltilmesi yeterli olacaktır.

  • Bu konuya henüz kimse cevap vermedi. İlk cevaplayan siz olun!