Что такое код imagefttext

imagefttext() [функция.imagefttext]: не могу найти/открыть шрифт в

Я пытаюсь использовать библиотеку GD с FreeType писать какие-то тексты на мое изображение для приложения facebook(ниже код), но возникли ошибки:предупреждение: imagettftext() [функция.imagettftext]: не могу найти/открыть шрифт в /home/xxx/public_html/yyy/zzz/abc.php по строке 49

Технические характеристики:версия PHP 5.3.26 поддержки GD enabledGD версия в комплекте (2.1.0 совместимый)поддержкой FreeType enabledFreeType связь с freetypeFreeType версия 2.3.11

Я нашел что-то вроде ‘—с-программа FreeType-реж=/ЕГР тоже

В чем может быть проблема, что я получаю ошибку?Я должен включить только в файле php? (как)я должен знать полный путь к моему файлу шрифта?Как поступить? Заранее спасибо!Также что бы быть путь на Arial.ТФФ ?? или все шрифты?

© 2020 — Вопросы и ответы по программированию

imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttext — Write text to the image using fonts using FreeType 2

Описание

Список параметров

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor() .

The font size to use in points.

The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

The coordinates given by x and y will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the imagestring() , where x and y define the upper-left corner of the first character. For example, «top left» is 0, 0.

The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

The index of the desired color for the text, see imagecolorexact() .

The path to the TrueType font you wish to use.

Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the ‘path separator’ for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.

In many cases where a font res >

// Set the enviroment variable for GD
putenv ( ‘GDFONTPATH=’ . realpath ( ‘.’ ));

// Name the font to be used (note the lack of the .ttf extension)
$font = ‘SomeFont’ ;
?>

Text to be inserted into image.

Possible array indexes for extrainfo

Key Type Meaning
linespacing float Defines drawing linespacing

Возвращаемые значения

This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:

lower left x-coordinate
1 lower left y-coordinate
2 lower right x-coordinate
3 lower right y-coordinate
4 upper right x-coordinate
5 upper right y-coordinate
6 upper left x-coordinate
7 upper left y-coordinate

Примеры

Пример #1 imagefttext() example

// Create a 300×100 image
$im = imagecreatetruecolor ( 300 , 100 );
$red = imagecolorallocate ( $im , 0xFF , 0x00 , 0x00 );
$black = imagecolorallocate ( $im , 0x00 , 0x00 , 0x00 );

// Make the background red
imagefilledrectangle ( $im , 0 , 0 , 299 , 99 , $red );

// Path to our ttf font file
$font_file = ‘./arial.ttf’ ;

// Draw the text ‘PHP Manual’ using font size 13
imagefttext ( $im , 13 , 0 , 105 , 55 , $black , $font_file , ‘PHP Manual’ );

// Output image to the browser
header ( ‘Content-Type: image/png’ );

imagepng ( $im );
imagedestroy ( $im );
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Замечание: Эта функция доступна только в случае, если PHP был скомплирован с поддержкой freetype ( —with-freetype-dir=DIR )

imagefttext() и imagettftext(), дающие странные результаты

У меня проблема с получением imagefttext() и imagettftext() работающих в php.

Это аналогичный вопрос для imagettftext(), который не работает, однако мне не дана ошибка. Я упрощу свой код здесь, чтобы показать, в чем заключается его основа. Я пробовал каждую строку ниже.

Все вышесказанное создает серию белых ящиков, где должно быть письмо. Для дальнейшего устранения неполадок я взял каждую строку выше и загрузил ее и попробовал. Затем я изменил «A» в имени файла шрифта на «a», и никто из них не сказал, что это сервер на основе Unix. (capments) Ниже я отправлю рабочий бит кода, который создает изображение с текстом.

Я знаю, что FreeType установлен на сервер, иначе он даже не дал бы мне изображение, бросая ошибку, когда я пытаюсь его использовать. Я не пробовал еще один способ установки файла шрифта, который в этом случае не нужен. (Он все равно читает файл, иначе это даст мне ошибку.)

UPDATE: теперь это разрешено благодаря Elias, у меня была небольшая часть кода из примерно 1500 строк кода, который был фрагментом старого кода. Этот код был imagealphablending($image2, false) и imagettftext() а также imagefttext() не работают с alphablending off (Set to false.) Я удалил код, и теперь он работает так, как ожидалось. См. Ниже, как это выглядит сейчас.

imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imagefttext — Нанесение текста на изображение, используя шрифты FreeType 2

Описание

Список параметров

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor() .

Размер шрифта в пунктах.

Угол в градусах, 0 градусов означает расположение текста слева направо. Положительные значения означают поворот текста против часовой стрелки. Например, текст повернутый на 90 градусов нужно будет читать снизу вверх.

Координаты x и y определяют отправную точку для первого символа текста (конкретно, левый нижний угол символа). Здесь есть отличие от функции imagestring() , в которой x и y определяют верхний левый угол первого символа. Например, «верхний левый» имеет координаты 0,0.

y-координата. Это позиция базовой линии шрифта, в общем случае она не совпадает с низшей точкой в символе.

Индекс требуемого цвета текста, см. imagecolorexact() .

Путь к TrueType шрифту, который требуется использовать.

В зависимости от версии GD библиотеки если fontfile не начинается с /, то в конец названия файла будет добавлено расширение .ttf, и библиотека будет пытаться найти этот файл по адресу, определенному в настройках библиотеки.

При использовании GD библиотеки версий младше 2.0.18 символ space (пробел), как и точка с запятой, использовался в качестве «разделителя путей» для различных файлов шрифтов. При использовании этой возможности будет выдаваться предупреждение: Warning: Could not find/open font. Решением такой проблемы в этих версиях может быть только исключение пробелов из путей файлов.

В большинстве случаев размещение файлов шрифтов в директории скрипта решает подобные проблемы включения файлов.

// Задание переменной окружения для GD
putenv ( ‘GDFONTPATH=’ . realpath ( ‘.’ ));

// Имя шрифта для использования (обратите внимание на отсутствие расширения .ttf)
$font = ‘SomeFont’ ;
?>

Текст для вставки в изображение.

Возможные значения массива extrainfo

Ключ Тип Значение
linespacing float Определяет рисование нижнего подчеркивания

Возвращаемые значения

Эта функция возвращает массив, определяющий четыре точки рамки текста. Текст внутри этих границ начинается с левого нижнего угла и поворачивается против часовой стрелки:

нижняя левая x-координата
1 нижняя левая y-координата
2 нижняя правая x-координата
3 нижняя правая y-координата
4 верхняя правая x-координата
5 верхняя правая y-координата
6 верхняя левая x-координата
7 верхняя левая y-координата

Примеры

Пример #1 Пример использования imagefttext()

// Создание изображения 300×100
$im = imagecreatetruecolor ( 300 , 100 );
$red = imagecolorallocate ( $im , 0xFF , 0x00 , 0x00 );
$black = imagecolorallocate ( $im , 0x00 , 0x00 , 0x00 );

// Сделаем красный фон
imagefilledrectangle ( $im , 0 , 0 , 299 , 99 , $red );

// Путь к ttf файлу шрифта
$font_file = ‘./arial.ttf’ ;

// Рисуем текст ‘PHP Manual’ шрифтом 13го размера
imagefttext ( $im , 13 , 0 , 105 , 55 , $black , $font_file , ‘PHP Manual’ );

// Вывод изображения
header ( ‘Content-Type: image/png’ );

imagepng ( $im );
imagedestroy ( $im );
?>

Примечания

Замечание: Эта функция доступна только в случае, если PHP был скомплирован с поддержкой freetype ( —with-freetype-dir=DIR )

Смотрите также

  • imageftbbox() — Определение границ текста выводимого шрифтом freetype2
  • imagettftext() — Рисование текста на изображении шрифтом TrueType

PHP imagefttext (imagettftext) не отображает ничего

Я почти уверен, что есть глупая причина, по которой это не работает, но я просто не могу понять этого. Я просто пытаюсь распечатать какой-то текст в виде графического изображения с imagettftext, но я не могу получить слова для отображения. Это на сервере GoDaddy, поэтому я не контролирую все, но вот спецификации из phpinfo():

  • Версия PHP 5.2.14
  • — with-gd » —with-freetype-dir =/usr » —with-jpeg-dir =/usr » —with-png-dir =/usr/bin/libpng-config » —enable-gd-native-ttf ‘
  • Поддержка GD
  • Версия GD в комплекте (совместим с 2.0.34)
  • Поддержка FreeType включена
  • FreeType Связь с freetype
  • FreeType Version 2.2.1

Вот код, который я использую. Ничего необычного или странного.

Я попытался изменить имя шрифта разными способами:

Я пытался использовать PNG вместо GIF, я пытался использовать imagefttext() и imagettftext(), я пытался отображать ошибки, но он не показывает никаких ошибок, просто пустой экран. Есть идеи? Он должен быть чем-то таким глупым.

imagefttext

imagefttext — записывает текст на изображении с использованием шрифтов FreeType 2.

Описание

array imagefttext (resource image, int size, int angle, int x, int y, int col, string font_file, string text [, array extrainfo])

Эта функция в настоящее время ещё не задокументирована; имеется только список аргументов.

imagefttext () и imagettftext () дают странные результаты

У меня есть проблема с получением imagefttext() и imagettftext() работающие в php.

Это похоже на то, что imagettftext () не работает, однако мне не выдается ошибка. Я упросту свой код здесь, чтобы показать, на чем он основан. Я попробовал каждую строку ниже.

Все вышеперечисленное дает серию белых коробок, где должна быть буква. Для дальнейшего устранения неполадок я взял каждую строку выше и загрузил ее и попробовал. Затем я изменил «A» в имени файла шрифта на «a», и ни один из них не сработал, сказав, что это сервер на базе Unix. (заглавные буквы имеют значение) Ниже я опубликую рабочий фрагмент кода, который создает изображение с текстом.

Я знаю, что FreeType установлен на сервере, иначе он даже не выдаст мне образ, выдавая ошибку, когда я пытаюсь его использовать. Я не пробовал другой способ установки файла шрифта, так как в этом случае он не нужен. (В любом случае он читает файл. В противном случае он выдаст мне ошибку.)

ОБНОВЛЕНИЕ: Это теперь решено благодаря Элиасу, у меня была небольшая часть кода приблизительно из

1500 строк кода, который был фрагментом старого кода. Этот код был imagealphablending($image2, false) и imagettftext() а также imagefttext() не работают с отключенным alphablending (Установите в false). Я удалил код, и теперь он работает как положено. Смотрите ниже, как это выглядит сейчас.

imagefttext() and imagettftext() giving strange results

I have an issue with getting imagefttext() and imagettftext() working in php.

This is a similar question to imagettftext() not working however I am not given an error. I will simplify my code here to show what the basis of it is. I have tried each line below.

All of the above produce a series of white boxes where there should be a letter. To further troubleshoot I took each line above and uploaded it and tried it. I then changed the «A» in the font file name to «a» and none of them worked telling me this is a Unix based server. (caps matter) Below I’ll post a working bit of code that produces an image with text.

I know that FreeType is installed to the server else it would not even give me an image at all throwing an error when I try to use it. I have not tried another method of setting the font file as that is not needed in this case. (It reads the file anyway. Else it would give me an error.)

UPDATE: This is now resolved thanks to Elias, I had a small part of code out of about

1500 lines of code that was a fragment of old code. This code was imagealphablending($image2, false) and imagettftext() as well as imagefttext() do not work with alphablending off (Set to false.) I removed the code and it now works as expected. See below for how it looks now.

imagefttext() [функция.imagefttext]: не могу найти/открыть шрифт в

Я пытаюсь использовать библиотеку GD с FreeType писать какие-то тексты на мое изображение для приложения facebook(ниже код), но возникли ошибки:предупреждение: imagettftext() [функция.imagettftext]: не могу найти/открыть шрифт в /home/xxx/public_html/yyy/zzz/abc.php по строке 49

Технические характеристики:версия PHP 5.3.26 поддержки GD enabledGD версия в комплекте (2.1.0 совместимый)поддержкой FreeType enabledFreeType связь с freetypeFreeType версия 2.3.11

Я нашел что-то вроде ‘—с-программа FreeType-реж=/ЕГР тоже

В чем может быть проблема, что я получаю ошибку?Я должен включить только в файле php? (как)я должен знать полный путь к моему файлу шрифта?Как поступить? Заранее спасибо!Также что бы быть путь на Arial.ТФФ ?? или все шрифты?

© 2020 — Вопросы и ответы по программированию

FPublisher

Web-технологии: База знаний

Документация PHP

Последние поступления:

ТехЗадание на Землю

Размещена 14 марта 2020 года

Пpоект Genesis (из коpпоpативной пеpеписки)

Шпаргалка по работе с Vim

Размещена 05 декабря 2020 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

Ошибка: Error: Cannot find a val >Размещена 13 сентабря 2020 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

Linux Optimization

Размещена 30 июля 2012 года

Илон Маск рекомендует:  Общение между запущенными копиями своих программ
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Предупреждение!