imagettftext

(PHP 4, PHP 5, PHP 7)

imagettftextMetni resme TrueType yazı tipi ile yazar

Açıklama

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

Belirtilen metni belirtilen TrueType yazı tipi ile belirtilen resme yazar.

Değiştirgeler

resim

imagecreatetruecolor() gibi bir resim oluşturma işlevinden dönen bir resim verisi.

boyut

Yazıtipi yüksekliği. Kullandığınız GD sürümüne bağlı olarak piksel (GD1) veya punto (GD2) olarak belirtilmelidir.

açı

Derece cinsinden açı. Soldan sağa yazılan bir metnin açısı 0 derecedir. Daha büyük değerler yelkovanın ters 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 TrueType yazıtipinin dosya yolu.

PHP'nin kullandığı GD kütüphanesi sürümüne bağlı olarak, / ile başlamayan bir 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

UTF-8 kodlanmış metin dizgesi.

Karakter numarası 127'den büyük karakterler için onluk karakter numarası (&#8364; şeklinde) belirtilebilir. Onaltılık gösterim de (&#xA9; şeklinde) desteklenmektedir. UTF-8 kodlu metinler doğrudan aktarılabilir.

&copy; gibi isimli öğeler desteklenmemektedir. Bu tür isimli öğeleri UTF-8 dizgelerde kullanmak için PHP 5.0.0'dan itibaren html_entity_decode() işlevi ile dönüştürebilirsiniz.

Eğer yazı tipi tarafından desteklenmeyen bir karakter belirtirseniz karakterin yerinde boş bir dikdörtgen görürsünüz.

Dönen Değerler

Hata durumunda FALSE yoksa metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi döner. Çerçevenin köşeleri dizide sırayla şunlardır: sol alt, sağ alt, sağ üst, sol üst. Noktalar açıdan bağımsız olarak metne görelidir. Yani, "sol üst" denince metne yatay olarak bakarkenki sol üst köşe kastedilmektedir.

Sürüm Bilgisi

Sürüm: Açıklama
5.2.0 metin içinde onaltılık öğeler belirtmek mümkün oldu.

Örnekler

Örnek 1 - imagettftext() örneği

Bu örnek betik, içinde Arial yazı tipi ile siyah renkte (gri gölgeli) "Testing..." yazılmış 400x30 piksellik beyaz bir PNG resmi üretecektir.

<?php
// İçerik türünü belirtelim
header('Content-type: image/png');

// Resmi boş olarak oluşturalım
$resim imagecreatetruecolor(40030);

// Renkleri tanımlayalım
$beyaz imagecolorallocate($resim255255255);
$gri imagecolorallocate($resim128128128);
$siyah imagecolorallocate($resim000);
imagefilledrectangle($resim0039929$beyaz);

// Metni tanımlayalım
$metin 'Testing...';
// Buraya kendi dosya yolunuzu yazın
$font 'arial.ttf';

// Metne gölge verelim
imagettftext($resim2001121$gri$font$metin);

// Metni ekleyelim
imagettftext($resim2001020$siyah$font$metin);

// imagejpeg()'ye göre daha temiz sonuç veren imagepng()'yi kullanalım
imagepng($resim);
imagedestroy($resim);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

imagettftext.png

Notlar

Bilginize:

Bu işlev hem GD kütüphanesini hem de » FreeType kütüphanesini gerektirir.

Ayrıca Bakınız

  • imagettfbbox() - TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür