2009-11-16 8 views
6

Ben PHP GD kütüphanesi kullanarak ve resimler metin eklemek için imagestringup() imagestring gibi işlevleri kullanarak() ve ediyorum. Latin2 kodlaması ile yerleşik yazı tiplerini kullanıyorum. Dizenin uzunluğunu (piksel cinsinden) hesaplamak için belirli bir dizeyle bir yol var mı?Bir dizenin piksel uzunluğunu hesaplamanın herhangi bir yolu var mı?

Ben dizeleri değişkendir çünkü dizeleri piksel olarak uzunluğunu hesaplamak istiyorum ve dize ben koymak istediğiniz alanı aşmamasını emin olmak istiyorum. Yardımlarınız için

teşekkür ederiz. Eğer (siz imagestring() kullanıyorsanız, örneğin) PHP'nin Yap-In-yazı tiplerini kullanarak, metnin dize uzunluğunu belirlemek istiyorsanız http://www.php.net/manual/en/function.imagettfbbox.php

+0

Yinelenen: http://stackoverflow.com/questions/1641756/how-to-determine-the-length-in-pixels-of-a-string-being-rendered-on-a-web- sayfa – Martin

cevap

6

imagettfbbox() bunu yapar

imagefontwidth() 


$text = "Your text here" 
$fontSize = 5; 

$textLength = imagefontwidth($fontSize) * strlen($text); 

Font-Yazı Tiplerini kullanmıyorsanız, yukarıda bahsedildiği gibi imagettfbbox() öğesini kullanın. Bu soruya

+1

Ancak bu yerleşik fontlarla çalışmaz, bir font dosyasına ihtiyaç duyar. – Sophivorus