Php ttf-yazı tek bir karakterin genişliğini almak?

2 Cevap php

Ben PHPs GD-kütüphanesi kullanarak benim sayfa başlıkları yaratır dinamik bir görüntü oluştururken ediyorum. Sorun bir hat-sarma sistemine ihtiyaç olmasıdır. Bu sorunun kendisi değil, ama önce mevcut karakter (piksel) genişliğini almak gerekiyor.

Ben bu konuda oldukça merak ediyorum, herhangi bir yolu var mı? Yoksa el her abc genişliğini belirtmek gerekiyor?

Martti Laine

2 Cevap

Eğer sonuçları yazdırırsanız

$string = "Lorem Ipsum";
$size = 20;
$angle = 0;
$fontfile = "./fonts/arial.ttf";

$dimensions = imagettfbbox($size, $angle, $fontfile, $string); 
print_r($dimensions);

Eğer böyle bir şey `alabilirsiniz:

Array
(
    [0] => -1
    [1] => 5
    [2] => 152
    [3] => 5
    [4] => 152
    [5] => -20
    [6] => -1
    [7] => -20
)

Her dizin nerede:

0   lower left corner, X position
1   lower left corner, Y position
2   lower right corner, X position
3   lower right corner, Y position
4   upper right corner, X position
5   upper right corner, Y position
6   upper left corner, X position
7   upper left corner, Y position

Yani genişliği indeksi 2 olmalıdır -. Indeks 0 oldukça endeksi 0 için eksi 1 alamadım.

Bu dize, her char toplamı ise sonuç 130 değil 153 olduğunu biraz garip.