Eridani
@Eridani
Мимо проходил

GD библиотека — как прописать путь до шрифта?

День добрый.
GD библиотека...Суть:
Нужно кастомным шрифтом нанести текст на изображение.
На локали сие пахало без путей, указав только название шрифта, но на сервере и уже на CMS такая штука не прокатывает, картинка есть, надписи - хрен.
Абсолютный путь до шрифта тоже не ничего не дает...Замена на imagestring работает, как раз там шрифт не указывается, но в моем случае, со шрифтом, ничего нет.
Что ему надо то?

Код
if(nc_file_path(116, $message, 'og_defaultimage') && $f_og_heading) {
    $sourceImg = @ImageCreateFromJpeg ($_SERVER['DOCUMENT_ROOT'].nc_file_path(116, $message, 'og_defaultimage'));
      
	$font_path = $_SERVER['DOCUMENT_ROOT'] . '/assets/fonts/GothamProRegular/GothamProRegular.ttf';
	$white = imagecolorallocate ($sourceImg, 255, 255, 255); 
    
    imagettftext($sourceImg, 35, 0, 0, 0, $white, $font_path, 'dssdknsd');

	$formated = $_SERVER['DOCUMENT_ROOT'].'/og/cxds.jpg';
    Imagejpeg ($sourceImg, $formated, 100);
	ImageDestroy($sourceImg);    
    
}


Free Type тоже есть
GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.8
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
проверь что у тебя создается картинка
$sourceImg = @ImageCreateFromJpeg ($_SERVER['DOCUMENT_ROOT'].nc_file_path(116, $message, 'og_defaultimage'));
if (!is_resource($sourceImg)) die('Aaaaaaaa');


проверь что путь правильный
$font_path = $_SERVER['DOCUMENT_ROOT'] . '/assets/fonts/GothamProRegular/GothamProRegular.ttf';
if (!file_exists($font_path) || !is_readable($font_path)) die('Aaaaaaaa');


затем проверь что тебе imagettftext возвращает
$result = imagettftext($sourceImg, 35, 0, 0, 0, $white, $font_path, 'dssdknsd');
if ($result === false) die('Aaaaaaaa');
var_dump($result);


Если уже дочитал сюда и все остальное работает, попробуй координаты сдвинуть на середину картинку, ну т.е.
$result = imagettftext($sourceImg, 35, 0, 50, 50, $white, $font_path, 'dssdknsd');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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