imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagefttextBir metni bir resme bir FreeType 2 yazı tipini kullanarak yazar

Açıklama

imagefttext ( resource $resim , float $boyut , float $açı , int $x , int $y , int $renk , string $yazıtipi , string $metin [, array $ekbilgi ] ) : array

Bilginize:

imagefttext() işlevi imagettftext() işlevinin geliştirlmişi olup ek olarak ekbilgi değiştirgesine sahiptir.

Değiştirgeler

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

ekbilgi için olası dizi indisleri
Anahtar Türü Anlamı
linespacing float Satırlar arasındaki boşluğu tanımlar.

Dönen Değerler

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

Örnekler

Örnek 1 - imagefttext() örneği

<?php
// 300x100 bir tuval oluşturalım
$im imagecreatetruecolor(300100);
$red imagecolorallocate($im0xFF0x000x00);
$black imagecolorallocate($im0x000x000x00);

// Artalan rengi kırmızı olsun
imagefilledrectangle($im0029999$red);

// ttf dosyamızın yolu
$font_file './arial.ttf';

// 'PHP Manual' metnini 13 puntoluk yazdıralım
imagefttext($im13010555$black$font_file'PHP Manual');

// Resmi tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notlar

Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • imageftbbox() - Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar
  • imagettftext() - Metni resme TrueType yazı tipi ile yazar