(PHP) Проблемы с выводом текста при генирации изображения

vlad2006
Дата: 18.07.2006 14:50:14
У меня следующая проблема: не могу вывести русский шрифт на картинке, причем на денвере все работает, а при загрузке на сервер текст не отображается.
Подключаю стандартный шрифт arial.ttf
В чем может быть ошибка? Почему на денвере пашет, а на хостинге нет (пробовал на 2-х платных хостингах).

автор
<?
error_reporting(0); //Отключил все ошибки, но не помогло

$text="рейтинг";

$colf=0xffffff; //Фон
$coln=0x000000; //текст

//размер рисунка
define('WIDTH', 280); //Ширина
define('HEIGHT', 40); //Высота

$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');

imagefill($image, 0, 0, $colf);
imagettftext($image, 23, 0, 2, 25, $coln, "arial.ttf", "$text");

header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>


Кто-нибудь отзовитесь, всю ночь за компом сижу спать не могу..))
Robert Tappan Moris
Дата: 18.07.2006 15:14:05
а на хостинге есть штифт?
когда я этим заморачивался, пока я не положит штифт рядом со скриптом ничего не получалось. У меня хостинг был под FreeBSD.
Ksnk
Дата: 18.07.2006 15:21:49
Правильно ли понял, что:
Английский текст выводится правильно и тем шрифтом какой заказывался? Тогда нужно отконвертировать в utf-8, с помощью iconv или так
vlad2006
Дата: 18.07.2006 16:32:37
Есть файл: index.php
автор

<?
$colf=0xffffff; //Фон
$coln=0x000000; //Текст

require('win2uni.php'); //Преобразование

define('WIDTH', 100);
define('HEIGHT', 31);

$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');

imagefill($image, 0, 0, $colf);
imagettftext($image, 6, 0, 3, 8, $coln, "arial.ttf", win2uni('РЕЙТИНГ'));


header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Еще один файл win2uni.php (для преобразования)
автор

<?
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i'); // преобразование win1251 -> iso8859-5
for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"�".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
?>

И в этойже папке шрифт: arial.ttf

И всеравно не пашет, пустое место. А на денвере выводится надпись.
Пробовал на хостинге: gudzonhost.ru и fatal.ru
i'm_novice
Дата: 18.07.2006 17:05:22
и все-таки посмотри есть ли на хостинге шрифт или пиши путь до него там же
define("font_name", "fonts/arial.ttf");
define("font_size", "11");
$text = win2uni('РЕЙТИНГ');
//...
ImageTTFText($img, font_size, 0, $x, $y, $black, font_name, $text);
zzzс
Дата: 19.07.2006 08:47:04
посмотри как это конвертится и выводится в jpgraph
vlad2006
Дата: 19.07.2006 09:17:52
Я попробовал подключить другой шрифт размером 5кб (но внем только цифры) и все заработало! А при попытке подключить шрифты с буквами ничего не отображает, только цифры.
Может я не тот шрифт пробую? Вроде стандартный arial.ttf

Я прикрепил скрипт аттачем, скачайте и посмотрите что там не так. Заранее благодарен..))
i'm_novice
Дата: 19.07.2006 10:45:33
хм... а у меня нормально все показывает, все по русски пишет...
vlad2006
Дата: 19.07.2006 10:59:59
У меня тоже нормально на ДЕНВЕРЕ пашет, а на хостинге не хочет отображать. Попробуй на хостинг залить.
vlad2006
Дата: 22.07.2006 08:12:40
Спасибо всем за помощь, проблема схостингом была (как я и предполагал).
Скрипт закончил, кому интересно можете просмотреть результат проделанной работы:
ТОП Рейтинг сайтов