Задать вопрос
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
Заранее выражаю огромную благодарность всем, кто поможет.
  • Вопрос задан
  • 203 просмотра
Подписаться 2 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Все очень просто. В GD координаты отсчитываются обычно от левого верхнего угла изображения.
При этом X растет слева направо, а Y сверху вниз.
А в случае imagettfbbox отправной точкой (0,0) является нижний левый угол, что вполне справедливо для текстбокса. И отмеряя от этой точки вверх мы двигаемся по Y в отрицательном направлении.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽