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
bu ne lannnn dalgamı geçiyosun sen bizimleeeeeeeeeeee:@:@:@
@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…
Kardeş boşuna uğraşma bu adam kesin geçemez direk siteye girince zihinseller sitesine yönlendir
Peki istediyimiz bir fontu nasıl ekleriz? Biraz uğraşdım ama olmadı