ФорумПрограммированиеPHP для идиотов → Выравнивание строки по центру GD

Выравнивание строки по центру GD

  • ns001acc

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz Фев. 21, 2013, 2:01 д.п.

    Вот что есть:


    //фон
    $image = "./images/background_image/sigbg.png";

    //создание изображения
    $img = imagecreatefrompng($image);

    //определение цвета шрифта
    $text_color = imagecolorallocate($img, 255, 231, 189);

    //вставка на изображение строки
    imagettftext($img, 10, 0, 205, 73, $text_color, "FrizQuadrataC.ttf", ucfirst($name_fdb));

    //переменная имени и адреса
    $imageUrl = "signs/"."s".md5($id).".png";

    //запись изображения на жд
    imagepng($img, $imageUrl);

    //удаление изображения из оперативы
    imagedestroy($img);


    Все работает…Нужна функция, чтобы выровнять строку по центру.
    Спасибо.
  • ns001acc

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz Фев. 21, 2013, 2:19 д.п., спустя 18 минут 17 секунд

    Уточнение: Интересует только горизонтальное выравнивание.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz Фев. 21, 2013, 9:15 д.п., спустя 6 часов 56 минут 23 секунды

    $box = imagettfbbox(12, 0, 'arialbd.ttf', 'Шипупи!');
    $width = $box[2] - $box[0];
    $pos = $pos - $width/2;

    как-то так делал. если не понятно, почитай про imagettfbbox и высчитывай :3
    Высокоуровневое абстрактное говно
  • ns001acc

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz Фев. 21, 2013, 11:09 д.п., спустя 1 час 53 минуты 26 секунд


    $img_width = 500;
    $box = imagettfbbox(10, 0, 'FrizQuadrataC.ttf', ucfirst($name));
    //вычисление ширины строки
    $width = $box[2] - $box[0];
    //вычисление коры x
    $x = ($img_width - $width)/2;
    //вставка строки
    imagettftext($img, 10, 0, $x, 73, $text_color, "FrizQuadrataC.ttf", ucfirst($name));


    Вот как я решил эту проблему.
    Спасибо братан, что подсказал функцыю=)
    Спустя 85 сек.
    пиздец… искал 2 дня как отцентровать строку… Спасибо огромное!
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Фев. 21, 2013, 3:13 п.п., спустя 4 часа 4 минуты

    братааан!
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Фев. 21, 2013, 5:31 п.п., спустя 2 часа 18 минут 43 секунды

    Братвааа!



    (Папа досвидос)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!