PHP – Resim üzerine yazılan yazıyı ortalama
Yazar: Caner | 19 Temmuz 2009 Pazar 20:07
Daha önce şu yazımda ImageCreate fonksiyonu ile bir resmin üzerine basitçe nasıl yazı yazılabileceğini anlatmıştım. Geçenlerde ise bir online sayacı hazırlarken genişliği ve yüksekliği farklı olan bir resmin üzerine yazı yazıp bunu dikey ve yatay olarak (center/middle) ortalamak gibi bir fonksiyona ihtiyacım oldu, üzerinde biraz kafa patlattım fakat tek başıma üstesinden gelemedim ben de çözümü yabancı bir sitede bulup kendime göre düzenledim. Web tasarımla ilgileniyorsanız bu gibi bir fonksiyon mutlaka işinizi görecektir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php // Credits: BitRepository // URL: http://www.bitrepository.com/web-programming/php/how-to-center-a-text-on-an-image-using-gd.html // Oluşturulacak resim ebatları $width = 507; $height = 75; // Resmi oluştur $im = ImageCreate($width, $height); // Arkaplan ve kenarlık rengi $bg = ImageColorAllocate($im, 200, 250, 250); $border = ImageColorAllocate($im, 207, 199, 199); ImageRectangle($im, 0, 0, $width - 1, $height - 1, $border); $text = 'Ortalanacak metin'; $textcolor = ImageColorAllocate($im, 0, 0, 255); // Font boyutu $font = 3; $font_width = ImageFontWidth($font); $font_height = ImageFontHeight($font); // Metin ebatları $text_width = $font_width * strlen($text); $text_height = $font_height; // Yatay ve dikey ortalama $position_center = ceil(($width - $text_width) / 2); $position_middle = ceil(($height - $text_height) / 2); // Yazıyı resme bastır $image_string = ImageString($im, $font, $position_center, $position_middle, $text, $textcolor); header("Content-type: image/png"); ImagePNG($im); ?> |
Scriptin çalışan örneği:
Alıntı:
http://www.bitrepository.com/php-how-to-center-a-text-on-an-image-using-gd.html














sibel
21 Ekim 2009 [17:52]
bu ne lannnn dalgamı geçiyosun sen bizimleeeeeeeeeeee:@:@:@
Caner
22 Ekim 2009 [19:28]
@sibel arıza mısın? Hayır sitenin giriÅŸine IQ testi eklemeyi düşünüyorum artık, testi geçemeyen yorum yapamayacak. Belamısınız siz ya…