Uzun zamandır yazmıyorum bloguma, bugün bunun acısını çıkarırcasına , yazmak isteyip de, vakit bulamadığım konular üzerine yazıyorum ![]()
Bildiğiniz veya artık bundan sonra bileceğiniz gibi, php ile resim işlemleri de yapabilmekteyiz. PHP nin resim işlemleri için birkaç eklentisi var. Fakat ben örneğimde GD kütüphanesini baz alacağım.
Burdaki amacımız elimizde bulunan bir resim üzerine istediğimiz bir yazıyı yazdırabilmek. Bunu yapabilmek için GD eklentimizi kurmamız gerekir. GD kütüphanesini kurduktan sonra yazacağımız birkaç satırlık kod ile rahatlıkla istediğimiz şeyi gerçekleştirebileceğiz :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // resmimizi oluşturuyoruz $resim=imagecreatetruecolor(200,50); // resmimizi boyayacağımız rengi oluşturuyoruz $renk = imagecolorallocate($resim, 176,196,222); // resmimizi boyuyoruz imagefill($resim, 0,0, $renk); // yazı rengimizi belirtiyoruz $yaziRengi = imagecolorallocate($resim, 0,0,0); // yazımızı resmin üstüne yazıyoruz imagestring($resim, 5, 20, 50/3, 'www.ersindogan.com', $yaziRengi); // tarayıcıya dosyamızı algılaması için direktif veriyoruz header('Content-type: image/png'); // ve sonucu çıktılıyoruz imagepng($resim); imagedestroy($resim); |
Burada ek olarak bahsedeceğim şey iamgestring işlevi. Aslında bu işlev tam olarak yazımızın konusu, yani resim üzerine yazı yazmamızı sağlayan işlev.
Bu işlevdeki ilk parametre üzerine yazı yazılacak resimdir .
İkinci parametre yazı yazmak için kyllanacağımız font tipini belirtiyoruz. 1 den 5 e kadar latin2 kodlamalı yerleşik yazı tiplerini seçebilir veya imageloadfont metodu ile kendi fontumuzu kullanabiliriz.
Üçüncü ve dördüncü parametreler yazının koordinatlarını (x,y) belirtmek için kullanılır.
Beşinci parametre resmi üzerine yazılacak metin.
Altıncı parametre ise yazı rengini belirler.
Yuarıdaki kodun çıktısı aşağıdaki gibi olacaktır :

Eğer kodları aşağıdaki biçimde değiştirisek :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // rengimizi oluşturuyoruz $resim=imagecreatetruecolor(50,250); // resmimizi boyayacağımız rengi oluşturuyoruz $renk = imagecolorallocate($resim, 176,196,222); // resmimizi boyuyoruz imagefill($resim, 0,0, $renk); // yazı rengimizi belirtiyoruz $yaziRengi = imagecolorallocate($resim, 0,0,0); // yazımızı resmin üstüne yazıyoruz imagestringup($resim, 5, 10, 220, 'www.ersindogan.com', $yaziRengi); // tarayıcıya dosyamızı algılaması için direktif veriyoruz header('Content-type: image/png'); // ve sonucu çıktılıyoruz imagepng($resim); imagedestroy($resim); |
Bu sefer de aşağıdaki gibi bir çıktı alırız

Aslında beni en çok uğraştıran, ama çözümü gözümün önünde duran, resim üzerine yazılan yazının saydamlığını ayarlayabilme konusuna bir sonraki yazıda değineceğim.
Buradaki örnekleri geliştirerek kendinize uygun çözümler oluşturabilirsiniz. Hoşça kalın