(PHP 4 >= 4.0.7, PHP 5, PHP 7)
imagefttext — Bir metni bir resme bir FreeType 2 yazı tipini kullanarak yazar
$resim
, float $boyut
, float $açı
, int $x
, int $y
, int $renk
, string $yazıtipi
, string $metin
[, array $ekbilgi
] ) : arrayBilginize:
imagefttext() işlevi imagettftext() işlevinin geliştirlmişi olup ek olarak
ekbilgi
değiştirgesine sahiptir.
resim
imagecreatetruecolor() gibi bir resim oluşturma işlevinden dönen bir resim verisi.
boyut
Kullanılacak yazı tipinin punto olarak boyutu.
açı
Derece cinsinden açı. Soldan sağa yazılan bir metnin açısı 0 derecedir. Daha büyük değerler ters saat yönünde belirtilmiş varsayılır. Örneğin 90 derecelik bir metin aşağıdan yukarı doğru yazılır.
x
x
ve y
ile belirtilen
koordinatlar ilk harfin taban noktasını (kabaca harfin sol alt köşesi)
tanımlar. Bu tanımlama, koordinatların harfin sol üst köşesini
tanımladığı imagestring() işlevinden farklıdır.
Resmin sol üst köşesinin koordinatları 0, 0'dır.
y
x
değiştirgesine bakınız.
renk
Renk indisi. Negatif bir renk indisi kenar yumuşatmayı kapatır. imagecolorallocate() işlevine bakınız.
yazıtipi
Kullanılacak FreeType2 yazı tipi dosyasının yolu.
PHP'nin kullandığı GD kütüphanesinin sürümüne bağlı olarak, / ile başlamayan bir FreeType2 dosya ismine .ttf uzantısı eklenir ve kütüphane bu dosya ismini kütüphanede tanımlı dizinlerde arar.
GD kütüphanesinin 2.0.18'den küçük sürümlerini kullanıyorsanız, farklı yazıtipi dosyalarının aralarına noktalı virgül değil boşluk karakteri koymalısınız. Bu kurala dikkat etmezseniz şöyle bir uyarı alırsınız: Warning: Could not find/open font (Uyarı: Yazı tipi bulunamadı veya açılamadı). Boşluk içeren dosya yollarının varlığında bu sürümler için tek çözüm yazı tiplerinin boşluk içermeyen dosya yollarına taşınmasıdır.
Yazı tiplerinin betikle aynı dizinde bulunduğu durumlarda herhangi bir sorun çıkmaması için aşağıdaki çözüm kullanılabilir.
<?php
// GD ortam değişkenini tanımlayalım
putenv('GDFONTPATH=' . realpath('.'));
// Kullanılacak yaza tipinin ismi (dikkat: .ttf uzantısı yok)
$font = 'freesans';
?>
metin
Resme yerleştirilecek metin.
ekbilgi
Anahtar | Türü | Anlamı |
---|---|---|
linespacing | float | Satırlar arasındaki boşluğu tanımlar. |
Metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi ile döner:
0 | Sol alt köşenin X konumu |
1 | Sol alt köşenin Y konumu |
2 | Sağ alt köşenin X konumu |
3 | Sağ alt köşenin Y konumu |
4 | Sağ üst köşenin X konumu |
5 | Sağ üst köşenin Y konumu |
6 | Sol üst köşenin X konumu |
7 | Sol üst köşenin Y konumu |
Örnek 1 - imagefttext() örneği
<?php
// 300x100 bir tuval oluşturalım
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Artalan rengi kırmızı olsun
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// ttf dosyamızın yolu
$font_file = './arial.ttf';
// 'PHP Manual' metnini 13 puntoluk yazdıralım
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// Resmi tarayıcıya gönderelim
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.