$string = "test";
$im = imageCreateFromJpeg("reference1.jpg");
$color = imageColorAllocate($im, 0, 0, 0);
$px = (imageSX($im)-6.5*strlen($string))/2;
imageTftText($im, $px, 0, 771, 415, $color, "G:\www\praktika\www\times.ttf", $string);
Header("Content-type: image/jpeg");
imageJpeg($im);
imageDestroy($im);
Но при обращении к скрипту браузер выдаёт белую страницу. В чём загвоздка, что я делаю не так?
Спустя 21 минута, 52 секунды (10.08.2010 - 13:01) linker написал(а):
"G:\www\praktika\www\times.ttf"
попробуй "G:/www/praktika/www/times.ttf"

Спустя 19 минут, 25 секунд (10.08.2010 - 13:20) AntonMMF написал(а):
Цитата (linker @ 10.08.2010 - 10:01) |
"G:\www\praktika\www\times.ttf" ![]() |
Нет, не получилось

Спустя 7 минут, 4 секунды (10.08.2010 - 13:27) sergeiss написал(а):
Смени локальный каталог "G:/www/praktika/www/times.ttf" на "нормальный" путь, относительный или абсолютный. Относительно корня сайта. Локальные пути тут низзя писать.
Спустя 2 часа, 4 минуты, 2 секунды (10.08.2010 - 15:31) AntonMMF написал(а):
Цитата (sergeiss @ 10.08.2010 - 10:27) |
Смени локальный каталог "G:/www/praktika/www/times.ttf" на "нормальный" путь, относительный или абсолютный. Относительно корня сайта. Локальные пути тут низзя писать. |
Залил на сервер, прописал абсолютный путь - та же фигня. Мож где ещё какие функции прописывать надо???
Спустя 2 минуты, 14 секунд (10.08.2010 - 15:33) sergeiss написал(а):
Покажи, какой именно ты путь прописал.
Спустя 4 минуты, 15 секунд (10.08.2010 - 15:38) AntonMMF написал(а):
Цитата (sergeiss @ 10.08.2010 - 12:33) |
Покажи, какой именно ты путь прописал. |
imageTftText($im, $px, 0, 771, 415, $color, "/home/blablabla/new.ttf", $string);
через blablabla закрыл полный путь, но суть в этом... абсолютный путь получил через dirname(__FILE__)
Спустя 6 минут, 5 секунд (10.08.2010 - 15:44) sergeiss написал(а):
Ты указываешь путь на диске... И мне кажется, что не правильно это сделал!!!
Напиши вот в таком виде путь к файлу: http://localhost/ПУТЬ/new.ttf (естественно в предположении, что файл находится на сервере со скриптом). Где "путь" - это как раз то, что нам надо узнать.
А когда ты его узнаешь, то используй этот ПУТЬ тут:
или так
PS. А скорее всего, так надо
Напиши вот в таком виде путь к файлу: http://localhost/ПУТЬ/new.ttf (естественно в предположении, что файл находится на сервере со скриптом). Где "путь" - это как раз то, что нам надо узнать.
А когда ты его узнаешь, то используй этот ПУТЬ тут:
imageTftText($im, $px, 0, 771, 415, $color, "ПУТЬ/new.ttf", $string);
или так
imageTftText($im, $px, 0, 771, 415, $color, "http://localhost/ПУТЬ/new.ttf", $string);
PS. А скорее всего, так надо
imageTftText($im, $px, 0, 771, 415, $color, "../ПУТЬ/new.ttf", $string);
Спустя 51 минута, 14 секунд (10.08.2010 - 16:35) AntonMMF написал(а):
Всем спасибо, проблему решил. Оказывается, что текст надо передавать в юникоде (о чём непонятно по какой причине умалчивается в описании функции imageTftText). Надыбал на просторах гугла скрипт, и теперь работающий код выглядит так:
function toUnicodeEntities($text, $from="w") {
$text = convert_cyr_string($text, $from, "i");
$uni = "";
for ($i=0, $len=strlen($text); $i<$len; $i++) {
$char = $text{$i};
$code = ord($char);
$uni .= ($code>175)? "&#" . (1040+($code-176)) . ";" : $char;
}
return $uni;
}
$string = toUnicodeEntities("blablabla");
$font = getcwd()."/times.ttf";
$im = imageCreateFromJpeg("reference1.jpg");
$angle = 0;
$size = 62;
$color = imageColorAllocate($im, 0, 0, 0);
imageTtfText($im, $size, $angle, 770, 500, $color, $font, $string);
Header("Content-type: image/jpeg");
imageJpeg($im);
Спустя 13 дней, 15 часов, 11 минут, 15 секунд (24.08.2010 - 07:46) AntonMMF написал(а):
В продолжение темы с изображениями. А есть ли какие готовые решения для отправки получившегося изображения по почте вложенным файлом?
_____________
Работаю на репутацию (не только на карму, которая в профиле).