öncelikler ana dosyayı yedekleyin.
site dosyalarının ana dizinine watermark.png isminde şeffaf png dosyası hazırlayıp yüklüyoruz. ben 1000x1000px olarak yükledim
system/library/image.php dosyasını açıyoruz.
$this->width = $width;
$this->height = $height;bu kodların altına aşağıdaki kodu yapıştırıyoruz
// Manuel Filigran Kodu Başlangıcı (Merkezlenmiş ve Otomatik Boyutlandırılmış)
$watermark_file = DIR_IMAGE . 'watermark.png';
if (file_exists($watermark_file)) {
$watermark_original = imagecreatefrompng($watermark_file);
$wm_orig_width = imagesx($watermark_original);
$wm_orig_height = imagesy($watermark_original);
// 1. Ölçeklendirme: Filigran ana resmin genişliğinin %80'ı kadar olsun (İsterseniz 0.40'ı değiştirebilirsiniz)
$wm_target_width = $this->width * 0.80;
$wm_scale = $wm_target_width / $wm_orig_width;
$wm_target_height = (int)($wm_orig_height * $wm_scale);
// 2. Şeffaf bir tuval oluştur ve filigranı ölçekle
$watermark = imagecreatetruecolor((int)$wm_target_width, $wm_target_height);
imagealphablending($watermark, false);
imagesavealpha($watermark, true);
$transparent = imagecolorallocatealpha($watermark, 0, 0, 0, 127);
imagefill($watermark, 0, 0, $transparent);
imagecopyresampled($watermark, $watermark_original, 0, 0, 0, 0, (int)$wm_target_width, $wm_target_height, $wm_orig_width, $wm_orig_height);
// 3. TAM MERKEZ KOORDİNATLARI HESAPLAMA
// Formül: (Ana Resim / 2) - (Filigran / 2)
$dest_x = ($this->width / 2) - ($wm_target_width / 2);
$dest_y = ($this->height / 2) - ($wm_target_height / 2);
// 4. Sadece yeterince büyük resimlere ekle (Örn: 150px'den büyükse)
if ($this->width > 150) {
imagecopy($this->image, $watermark, (int)$dest_x, (int)$dest_y, 0, 0, (int)$wm_target_width, $wm_target_height);
}
imagedestroy($watermark_original);
imagedestroy($watermark);
}
// Manuel Filigran Kodu Bitişikaydet diyoruz.
ben aşağıdaki cache dosyasını da yedekledim. ne olur ne olmaz siz de yedekleyin.
/image klasörü içerisindeki cache dosyasını siliyoruz.
siteye gidip ctrl+f5 ile sayfayı yeniliyoruz. işlem tamam.
sitede png olarak ürün resmi kullanmadıysanız hiçbir sorun olmadan çalışıyor. ürün resimleri mutlaka jpg olarak kaydedilmiş olmalı.
yardım için çabalayan arkadaşlar var bu forumda. ben de herşey para demek değil diyerek bilgimi paylaşıyorum.