Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Php   Найти похожие ветки 

 
alexdn ©   (2012-05-25 21:11) [0]

Вот что то не идёт.. накладываю текст на картинку -
imagettftext($image,12,0,20,20,0x000000,"/stat/arial.ttf","тратата");
вроде бы всё правильно - вместо картинки - красный крестик..


 
Андреевич   (2012-05-25 21:50) [1]

заголовки отправил?


 
Дмитрий С ©   (2012-05-25 22:34) [2]

скорее всего ошибка. попробуй открыть адрес php скрипта в браузере.


 
Давайте будем жрать!   (2012-05-25 23:14) [3]


> вроде бы всё правильно - вместо картинки - красный крестик
А на что жалобы-то?


 
alexdn ©   (2012-05-25 23:17) [4]

> Давайте будем жрать!   (25.05.12 23:14) [3]
> Дмитрий С ©   (25.05.12 22:34) [2]
function.imagettftext</a>]: Could not find/open font in
чего это она шрифт не открывает?


 
alexdn ©   (2012-05-26 00:55) [5]

> Дмитрий С ©   (25.05.12 22:34) [2]
заработало, но что там с кодировкой? - "/path/arial.ttf", "Testing...Omega: &#937;"); ? нужно что то вроде для UTF-8 AFAIR?


 
Дмитрий С ©   (2012-05-26 01:58) [6]

откопал старый пример у себя


<?
define("MAX_TEXT_LENGTH", 255);
define("TEXT_SIZE", 10.5);
define("TEXT_COLOR_SHADOW", 0xb1b4b4);
define("TEXT_COLOR", @(int)$_GET["selected"]?0x000000:0x7d7f7f);
define("BACKGROUND_COLOR", 0x7f000000);
define("TRANSPARENT", true);

$text = @(string)$_GET["text"];

$text = mb_convert_encoding($text, "utf-8", "windows-1251");

$font_file = dirname(__FILE__)."/".(empty($_GET["bold"])?"TrajanPro-Regular.otf":"TrajanPro-Bold.otf");

if (mb_strlen($text, "utf-8") > MAX_TEXT_LENGTH) {
die("Text too long");
}

$absSizes = //imagettfbbox(TEXT_SIZE, 0, $font_file, "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM{}[]!@#$%^&*()1234567890~`_");
$sizes = imagettfbbox(TEXT_SIZE, 0, $font_file, $text);
//print_r($sizes)

$img = imagecreatetruecolor(abs($sizes[4]-$sizes[0]) + 2, abs($absSizes[5]-$absSizes[1]) + 2);

imagesavealpha($img, TRANSPARENT);
imagealphablending($img, false);
imageantialias($img, false);

imagefilledrectangle($img, 0, 0, imagesx($img), imagesy($img), BACKGROUND_COLOR);

imagealphablending($img, true);

if (@(int)$_GET["selected"])
imagettftext($img, TEXT_SIZE, 0, 1+0, 1+0*imagesy($img) - $sizes[5] - 1, TEXT_COLOR_SHADOW, $font_file, $text);
imagettftext($img, TEXT_SIZE, 0, 0, 0*imagesy($img) - $sizes[5] - 1, TEXT_COLOR, $font_file, $text);
//imagefill($img, 1, 1, $trans);
@header("Content-type: image/png");
@header("Expires: ".date("r", time()+3600));
@header("Cache-Control: max-age=3600");

imagepng($img);
imagedestroy($img);
//print_r($sizes);

?>


 
alexdn ©   (2012-05-26 13:34) [7]

> Дмитрий С ©   (26.05.12 01:58) [6]
да, довольно интересно, но что то у меня кодировка всё равно не идёт.. кракозябры на картинку накладываются, вместо "тратата" - http://s019.radikal.ru/i623/1205/54/378d3229a26b.jpg
и это после
$text="тратата";
$text = mb_convert_encoding($text, "windows-1251", "utf-8");
imagettftext($image,12,0,40,40,0x000000,"stat/arial.ttf", $text);


 
ДимкаНа   (2012-05-26 13:49) [8]

Ты аргументы местами то зачем поменял?


 
Дмитрий С ©   (2012-05-26 17:12) [9]

А вообще непонятно почему я использовал mb_convert_encoding вместо iconv


 
alexdn ©   (2012-05-26 17:39) [10]

> Дмитрий С ©   (26.05.12 17:12) [9]
ну да,  iconv("cp1251", "utf-8", "тратата"));
только наверное ж нужно знать, из какой кодировки в какую? а если там не  cp1251?


 
ДимкаНа   (2012-05-26 19:55) [11]

Там должна быть та же кодировка что и у ссылающейся страницы



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
15-1333812420
БарЛог
2012-04-07 19:27
2013.03.22
Перенести иероглифы с листа А4 на обои


15-1336936111
Рекрут
2012-05-13 23:08
2013.03.22
Укрепление памяти


2-1330073361
NieL
2012-02-24 12:49
2013.03.22
проверка перед добавлением


15-1338548076
oxffff
2012-06-01 14:54
2013.03.22
Сушка или ремонт телефона galaxy s plus i9001


2-1329811084
leklerk
2012-02-21 11:58
2013.03.22
Изменение данных в БД через DBGrid