31 AĞUSTOS 2017
PERŞEMBE
01.04
Youtube
Youtube kanalım açıldı! Daha detaylı ve güncel konu anlatımları için takip etmeyi unutmayın.
PHP ile Resme Filigran Ekleme

PHP'nin bizlere sunduğu avantajları kullanmaya devam ediyoruz. Bu makalemizde sizlere var olan bir resme nasıl filigran ekleneceğini anlatmaya çalışacağım. Bununla alakalı PHP'nin bulundurduğu fonksiyonları kullanacağız.

 

Tüm işlemlere başlamadan önce üzerinde çalıştığınız sunucunun gd kütüphanesini içerip içermediğini kontrol edin. Günümüzde genel olarak aktif durumda olan kütüphanenin kontrolünü herhangi bir php sayfanızı aşağıdaki komutu girdikten sonra açarsanız karşınıza gelen sayfada gd ile arama yaparak aktif olup olmama durumunu gözlemleyebilirsiniz;

phpinfo();

Başlarken;

Bu yapacağımız işlem için 2 adet görsele ihtiyacımız var. Birinci görselimiz saf bir görsel olacak, yani hiçbir logo veya yazı barındırmayacak orijinal görselimiz olarak kullanacağımız görselimiz olacaktır. İkinci görselimiz ise logo veya filigran olarak isimlendireceğiniz dosyanız olacaktır. Ben şöyle 2 adet dosya seçtim.

Orijinal Görsel

Logo

PHP Kodlarımız

$logo = imagecreatefrompng('logo.png');
$resim = imagecreatefromjpeg('resim.jpg');

$sag = 20; $asagi = 20;
$konumX = imagesx($logo); $konumY = imagesy($logo);

imagecopy(
	$resim,
	$logo,
	imagesx($resim) - $konumX - $sag, // soldan
	imagesy($resim) - $konumY - $asagi, // yukarıdan
	0,
	0,
	$konumX, // logo genişlik
	$konumY // logo yükseklik
);

header('Content-type: image/png');
imagepng($resim);
imagedestroy($resim);

Yukarıda doğrudan PHP kodlarımıza yer verdim. Bu kod alanımızda logo ve resim değişkenlerini tanımladık. Akabinde sağ ve aşağıdan bırakılacak pixel değerini girdik. konumX ve konumY ile logonumuzun bir anlamda genişlik ve yükseklik değerlerini aldık. Bunu imagecopy() fonksiyonumuzda logomuzu konumlandırırken kullanacaktık. Görüldüğü üzere imagesx($resim) ile resmimizin genişliğini aldıktan sonra önce logomuzun genişliğini çıkarttık, akabinde sağ alandan bırakmak istediğimiz boşluğu çıkarttık. Bu sayede normalde soldan kaç px bırakılacak ise onu elde etmiş olduk. Çünkü imagecopy() ile boşluklar sol ve üstten bırakılabiliyor. Aynı işlemi yükseklik içinde uyguladık.

Çıktı

Eğer header() fonksiyonundan önce ekrana bir çıktı verdirirseniz bu sistem çalışmayacaktır. Bunun için bu kodların bulunduğu sayfayı ayrı tutarak kullanmak istediğiniz yere çağırabilirsiniz. Bu dosyamızın adının resim.php olduğunu varsayalım.

<img src="resim.php" alt="resim">

şeklinde resmimizi çağırabiliriz. Aynı şekilde oluşturduğumuz bu resim dosyamızı get ile senkronize hale getirerek tek dosyada istediğimiz kadar resme uygulayarak istediğimiz alanlarda kullanabiliriz.

YORUMLAR 1
2
Özkan
07 KASIM 2022 - 20.18
Oldukça yararlı bir PHP paylaşımı. Teşekkürler.
CEVAPLA
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et