Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Русский текст в imagettftext

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: проблема при выводе русского текста функцией imagettftext()
djserver
Отправлено: 20 Марта, 2013 - 09:24:21
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Юзал поиск на форуме то что нужно не нашел. Дело обстоят так:
Функция imagettftext выводит русский текст в виде квадратиков.
Погуглил, нашел несколько вариантов функций для перекодирования в utf-8. вот только толку от них 0. да и чего его перекодировать если он и так utf-8. в общем функции перекодирования не помогают. Шрифт поддерживает кириллицу все ок, он у нас на сайте используется, тоесть со шрифтом все ок. в чем может быть проблема???
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $img="img/vaucher/original.jpg";
  3. $pic = ImageCreateFromjpeg($img); //открываем рисунок в формате JPEG
  4. $color=ImageColorAllocate($pic, 81, 77, 76); //получаем идентификатор цвета
  5. ImageTTFtext($pic, 26, 0, 1045, 1120, $color, "fonts/Myriad-Web-Pro-Regular.ttf", $_POST['arr']['room']); //- если вместо $_POST написать просто "русский текст" (ну так для теста) то выводятся квадратики (((
  6.  
Огорчение
(Добавление)
под функцией перекодировки я имел в виду
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function win_uni ($in) {  
  3.         $in = convert_cyr_string($in ,"w","i");  
  4.         $out = "";  
  5.         for ($i=0; $i < strlen($in); $i++) {  
  6.                 $char = ord($in[$i]);  
  7.                 $out .= ($char > 175)?"&#".(1040+($char-176)).";":$in[$i]; }
  8.         return $out;
  9. }  

обычный iconv(); тоже не помогает....
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Марта, 2013 - 10:39:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Проверте всё-таки кодировку файла.
У меня нормально всё работает.
 
 Top
djserver
Отправлено: 20 Марта, 2013 - 10:49:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Кодировка файла Utf-8
кодировка строки utf-8

А какая у вас система, на чем проверяли. Я уже грешу на CentOs.
Ну просто все перерыл. Для решения проблемы ничего кроме функций перекодировки не предлагают. Но что не пробую не помогает.
(Добавление)
Как оказалось шрифт не подходит. Поставил arial.ttf все заработало. Хотя не ясно как так получилось что этот шрифт используется на сайте и выводит кириллицу, ридером открываю там есть русские символы, а в функции не работает.
В общем проблема решена, дело было в шрифте.
Спасибо за помощь и участие.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB