JackShcherbakov
@JackShcherbakov

Откуда в выводе функции imagettfbbox() берутся отрицательные значения?

Здравствуйте, коллеги!

Не понимаю откуда в выводе функции imagettfbbox() берутся отрицательные значения. Я знаю что отсчет идет от начала базовой линии, но почему-то чем выше угол, тем меньше значение Y. Почему так? И почему у левого нижнего угла значение не равно 0?

Например, почему следующий код дает такой результат?
<?php 
//$im = imagecreatefromjpeg("photo.jpg");
$bbox = imagettfbbox(30, 0, 'C:/Windows/Fonts/Arial.ttf', "Наша дружная компания");
foreach ($bbox as $key => $value) {
	echo "$key = $value <br>";
}
?>

Вывод:
0 = 3 
1 = 8 
2 = 460 
3 = 8 
4 = 460 
5 = -29 
6 = 3 
7 = -29

Это означает следующее, но почему так?
5ab858238c0b3775183601.jpeg
Заранее выражаю огромную благодарность всем, кто поможет.
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Все очень просто. В GD координаты отсчитываются обычно от левого верхнего угла изображения.
При этом X растет слева направо, а Y сверху вниз.
А в случае imagettfbbox отправной точкой (0,0) является нижний левый угол, что вполне справедливо для текстбокса. И отмеряя от этой точки вверх мы двигаемся по Y в отрицательном направлении.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы