Картинка imagettftext()
1.
ZipeR (21.11.2010 / 09:07)
Мне нужно отобразить текст на картинке с помощью imagettftext().
Какой файл шрифта мне нужен, чтобы правильно отбражалась кириллица?
Уже юзал очень многие, но ничего не помогало.
Мне важно, чтобы файл шрифта весил меньше 8 мб, ибо бесплатный хостинг ограничивает.
Спасибо заранее.
2.
ZipeR (21.11.2010 / 09:26)
Надо меньше 8 метров так как скрипт будет работать не только на платных хостах
3.
KOZZ (21.11.2010 / 09:26)
не думаю что функцию эту как то можно заставить работать с кириллицей, хотя хз )
лучше накладывай картинку с прозрачным фоном и нужным текстом
4.
ZipeR (21.11.2010 / 09:27)
3.
Ботаник eGo, перекодировать может надо шрифт?
Добавлено через 01:09 сек.
нет и это не помогло
Добавлено через 03:12 сек.
Ладно жду помощи от тех кто знает как проблему решить
5.
KOZZ (21.11.2010 / 09:36)
нашел в гугле:
даже при указании своего шрифта функции imagettftext() кириллица может выводиться в неверной кодировке.
Есть несколько способов решения этой проблемы. Самый простой – конвертировать строку с символами кириллицы в кодировку UTF-8:
$text = iconv("windows-1251", "UTF-8", "наш текст");
Также нам может помочь загрузка своего шрифта, например, формата .phpfont посредством imageloadfont(). Такой шрифт может быть создан в специальном редакторе и будет поддерживать все необходимые вам символы, в том числе и русские буквы. Благодаря этой возможности вы также можете использовать нестандартные шрифты – все, на какие способно ваше воображение.
6.
ZipeR (21.11.2010 / 09:46)
Если будут ставить на бесплатный хост то не вытянит мой функционал
7.
ZipeR (21.11.2010 / 11:12)
А каким нибудь конвертом ещё можно сделать?
8.
Сааааа-нёёёёё-к (21.11.2010 / 12:52)
Ты код покажи, может проблема не в шрифте!?
<?php
/*
*Вывод надписи на изображении ttf шрифтом
*автор: nc_soft
*12.10.07
*/
//текст в утф-8 (можно с переносом строки)
$text="выводимая \n строка";
//АБСОЛЮТНЫЙ путь к шрифту! например шрифт arial.ttf лежит в папке скрипта
$font=getcwd().'/arial.ttf';
//создаем изображение 100*100
$im = imagecreatetruecolor(100, 100);
//белый фон изображения
$white = imagecolorallocate($im, 255, 255, 255);
//цвет букв
$red = imagecolorallocate($im, 255, 0, 0);
//заливаем белым фоном
imagefilledrectangle($im, 0, 0, 100, 100, $white);
//наносим текст
imagettftext($im, 9, 0, 10, 20, $red, $font,$text);
/*
imagettftext (
идентификатор,
размер шрифта,
угол поворота,
начальная точка по Х,
начальная точка по У,
путь к шрифту,
текст )
*/
//выдача в браузер
header('Content-Type: image/jpeg');
imagejpeg($im);
?>
9.
Максим (21.11.2010 / 12:54)
Знаешь, не так давно я сам заморачивался на эту тему, то что написано выше этого сообщения мало чем поможет. зайди в мою анкету, далее просмотри все мои темы созданные на этом форуме, мне точно на это вопрос ответили, но не писали целый мануал с функцией, а привели ссылку на сторонний ресурс. ищи хорошенько и найдешь! с тебя +1
Добавлено через 05:43 сек.
Тема называется "русский текст на картинке". там точно найдешь, только надо код немножко исправить и будет тебе радость)
10.
ZipeR (22.11.2010 / 07:23)
Всем спасибо перекодировку придумал
URL:
https://visavi.net/topics/15722