Наложение текста на картинку

Статус
В этой теме нельзя размещать новые ответы.

Dark Wizard

Гуру форума
Регистрация
23 Сен 2007
Сообщения
194
Реакции
80
Привет всем!

У меня такая проблема: нужно сделать интерактивный юзербар (чтобы заданный текст и иконки накладывались на изображение).

Облазил весь инет, перепробовал кучу способов, но добился только Для просмотра ссылки Войди или Зарегистрируйся

Проблема с кодировкой и цветом, также не могу задать шрифт (на хоть что-то уже работает!)

использую такой код
PHP:
<?
// Создаем новое изображение из файла
$im = ImageCreateFromPNG('u/vtm1.png');
// Назначаем белый цвет
$color = ImagecolorAllocate($im,255,255,255); 

// Выводим счет на изображение

           $text = 'Text Текст';  

Imagestring($im,3,5,5,$text,$color);

// Выводим изображение в стандартный поток вывода
Header("Content-type: image/png");

ImagePng($im);
?>


Что мне нужно в идеале?
- формат картинки jpg/gif
- цвет текста
- шрифт заданный
- наложение другой маленькой картинки поверх


Сразу скажу - пробовал
PHP:
imagettftext ($im, 30, 0, 10, 40 , $color, 1, $text);
- не работает.

phpinfo() тут Для просмотра ссылки Войди или Зарегистрируйся (библиотека GD вроде работает хорошо)

Кто поможет и объяснит - буду очень благодарен! Заранее спасибо!
 
Imagestring выводит только шрифт по умолчанию. Можно менять только размер и цвет.

Кодировка устанавливается в настройках PHP, насколько мне известно. А точнее, той самой библиотеки GD. Точнее не подскажу - в PHP не специалист...
 
  • Заблокирован
  • #4
Код:
  // Преобразование Windows 1251 -> Unicode
  function win2uni($s)
  {
    $s = convert_cyr_string($s,'w','i'); // преобразование win1251 -> iso8859-5
    // преобразование iso8859-5 -> unicode:
    for ($result='', $i=0; $i<strlen($s); $i++) {
      $charcode = ord($s[$i]);
      $result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
    }
    return $result;
  }
Переводите текст в другую кодировку этой функцией и всё будет нормально выводиться. =)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху