PHP dinamik bir grafik menü oluşturma ediyorum, bu gibi görünüyor sadece 1 görüntüde sonuçları:
One Two Three Four
Sorun ancak, ben belirlemek zorunda x-ofset ve css ile görüntüyü konumlandırmak için her sayfa başlığı (örneğin ofset ve sol piksel "One" ve genişliği) genişliği.
Tüm boşluklar içeren sayfa başlıkları dışında, çalışıyor - imagettfbbox () yanlış pozisyonları döndürür. Ben bir Arial yazı tipini kullanıyorum (TTF)
Ben bu soruna almak konusunda herhangi bir öneriniz?
Düzenleme: Ben bu metnin sınırlarını belirlemek için aşağıdaki işlevi kullanarak, şimdi çalışma var:
function calculateTextBox($font_size, $font_angle, $font_file, $text) {
$box = imagettfbbox($font_size, $font_angle, $font_file, $text);
$min_x = min(array($box[0], $box[2], $box[4], $box[6]));
$max_x = max(array($box[0], $box[2], $box[4], $box[6]));
$min_y = min(array($box[1], $box[3], $box[5], $box[7]));
$max_y = max(array($box[1], $box[3], $box[5], $box[7]));
return array(
'left' => ($min_x >= -1) ? -abs($min_x + 1) : abs($min_x + 2),
'top' => abs($min_y),
'width' => $max_x - $min_x,
'height' => $max_y - $min_y,
'box' => $box
);
}
Edit 2: Ne yazık ki farklı font boyutları ve yazı tipi dosyaları kullanırken yanlış boyutlara almaya devam ...