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
Форумы портала PHP.SU :: Версия для печати :: Как сделать надпись на картинках по русски?
Форумы портала PHP.SU » » Кодировки и все смежное » Как сделать надпись на картинках по русски?

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

1. Rooner - 15 Мая, 2015 - 13:39:55 - перейти к сообщению
Нужно сделать надпись на картинках русскими буквами, но имеется проблема с кодировкой.
Есть скрипт, который делает надпись на картинке. Он использует файл со шрифтами, находящийся на сайте arial.ttf. Однако сам файл имеет кодировку ANSI, а веб сервер и сайт работают только под utf-8. В итоге надписи на картинках выводятся в виде квадратов.
Если можно перекодировать arial.ttf, то пожалуйста скажите КАКОЙ программой?
Если можно скачать arial.ttf в UTF-8, то пожалуйства дайте ссылку! Искал не нашел.

PHP:
скопировать код в буфер обмена
  1.  
  2. createWm($im1, "надпись", dirname(realpath(__FILE__))."/../image_load/css/arial.ttf");
  3.  
  4. function createWm(&$img,$text,$font,$r=128,$g=128,$b=128,$alphaLevel=60){
  5.   $width = imagesx($img);
  6.   $height = imagesy($img);
  7.   $angle =  -rad2deg(atan2((-$height),($width)));
  8.  
  9.   $text = " ".trim($text)." ";
  10.  
  11.   $c = imagecolorallocatealpha($img,$r,$g,$b,$alphaLevel);
  12.   $size = (($width+$height)/3)*2/strlen($text);
  13.   $box  = imagettfbbox ( $size, $angle, $font, $text );
  14.   $x = $width/2 - abs($box[4] - $box[0])/2;
  15.   $y = $height/2 + abs($box[5] - $box[1])/2;
  16.  
  17.   imagettftext($img,$size ,$angle, $x, $y, $c, $font, $text);
  18.   return $img;
  19. }
2. Ts.Saltan - 15 Мая, 2015 - 20:51:45 - перейти к сообщению
перед нанесением текста перевести его в нужную кодировку
PHP:
скопировать код в буфер обмена
  1. $text = iconv('UTF-8', 'windows-1251', $text);

(Добавление)
или так (предпочтительнее)

 

Powered by ExBB FM 1.0 RC1