PHP – Resim üzerine yazılan yazıyı ortalama


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

Facebook Yorumları

4 Yorum

  1. Caner
    Yazar

    @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…

  2. BlackHead-1TGT

    Kardeş boşuna uğraşma bu adam kesin geçemez direk siteye girince zihinseller sitesine yönlendir

Uyarı: Yorumlarda link kullanmayınız. Link içeren yorumlar otomatik olarak spam kabul edilmektedir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir