|
|
|
| Хм... наверное эта тема будет интересна многим.
Вообщем суть:
есть картинка ну скажем где то 750 пикселей ширины и 300 высота...
Задача: взять из БД данные для переменных, всего их 10, данные подрезаються и становяться строками, 1 переменная и 1 строка соответсвенно ;)
Конечная задача: сделать скрипт который открывает файл оригинального имаджика 750х300, и в рэндомных позициях эти переменные (их содержимое) раскидывает по картинке, чтобы они не накладывались на друг друга....
Потом это всё должно сохраниться в другую картинку JPEG.
И ещё надо получить координаты каждой надписи, чтобы потом с помощью maps сделать ссылки с этих надписей!
Тробл: совсем не использовал maps and GD. Подскажите как такое сделать? Может хоть примерный код кто-нибудь предложит? Думаю всем будет интересно такое реализовать!
Помогите плиз! | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 02:17)
| | В чем собственно проблема?
Данные из БД вытащить сможете?
Дальше выбераете 10 координат. К ним можете прибавлять случайное число, чтобы надписи рандомно распологались.
Функцией imagefttext пишете текст на картинки.
Попытайтесь... будут проблемы - пишите, поможем. | |
|
|
|
|
|
|
|
для: JIEXA
(12.07.2007 в 04:25)
| | Порылся немного, сделал вот что:
<?php
//получаем данные из БД
//$p1 = 'Первая строка';
//$p2 = 'Вторая';
// и т.д.
header("Content-type: image/jpeg");
$im = @imagecreatefromjpeg("bg.jpg");
//тут всё что нужно!
imagejpeg ($im);
?>
Пока не понимаю две вещи, обязательно иметь файл шрифта на хосте, чтобы его подгружать?
И как не выводить а сохранять картинку в дир-ю? | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 07:13)
| |
<?php
// Перезапись файла;
$fh=fopen($src,'w');
fclose($fh);
// $img - идентификатор картинки;
// $src - имя файла;
// $quality -качество изображения, лучше использовать 70 или 100;
imagejpeg($img, $src, $quality);
?>
|
| |
|
|
|
|
|
|
|
для: Петр
(12.07.2007 в 11:11)
| | А насчёт imagetext кто-нить добавит? В мануале только параметры и никакого описания :( | |
|
|
|
|
|
|
|
для: Петр
(12.07.2007 в 11:11)
| | оффтоп.. никогда не любил функции работы с изображениями хотя бы потому что начинаются не с image_ а в одно слово черт возьми | |
|
|
|
|
|
|
|
для: bronenos
(12.07.2007 в 18:46)
| | ВСё вроде получаеться! Только вот вместо русского текст на картинке еврейские какие то значки :( Чего делать? | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 21:23)
| | http://softtime.ru/forum/read.php?id_forum=1&id_theme=28497 | |
|
|
|
|
|
|
|
для: Hidden Demon
(12.07.2007 в 21:27)
| | Это не то - я пишу с помощью imagestring на картинке | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 21:39)
| | пробовали? | |
|
|
|
|
|
|
|
для: Hidden Demon
(12.07.2007 в 21:40)
| | Конечно - тот же еврит! | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 21:47)
| | - | |
|
|
|
|
|
|
|
для: Valick
(13.07.2007 в 00:08)
| | И что это за дефис или минус? Не понял прикола! | |
|
|
|
|
|
|
|
для: Proger
(13.07.2007 в 00:24)
| | По другому не удаляются сообщения.
Просто я не заметил ссылки Hidden Demon (12.07.2007 в 21:27) и написал примерно такую же. | |
|
|
|
|
|
|
|
для: Proger
(12.07.2007 в 02:17)
| | Ну чего никто не поможет с этом проклятой кодировкой? :(((( | |
|
|
|
|
|
|
|
для: Proger
(13.07.2007 в 03:35)
| | Пишите в UTF-8. | |
|
|
|
|
|
|
|
для: Unkind
(13.07.2007 в 04:08)
| | Это как простите? iconv? Не помогает! Или как? | |
|
|
|
|
|
|
|
для: Proger
(13.07.2007 в 07:49)
| | Зачем вы используете imagestring, чем вам не нравиться imageTtfText ?
imagestring на сколько я знаю, не работает с ttf шрифтами.
Отом как заставить imagestring "понимать по-русски" (если уж так хотите) можно прочитать здесь. (сам не смотрел, ссылка из книги) | |
|
|
|
|
|
|
|
для: Valick
(13.07.2007 в 08:06)
| | Скорее уже здесь. | |
|
|
|
|
|
|
|
для: Valick
(13.07.2007 в 08:06)
| | А imagettftext? Он 100% если закачать скажем Arial то будет отображать рашан буквы? | |
|
|
|
|
|
|
|
для: Proger
(13.07.2007 в 13:01)
| | Попробуйте
<?php
//**************************
// Функции
//**************************
//
// Функция преобразует текст из кодировки iso8859-5 в Unicode-entities.
// Ее необходимо вызывать перед запуском imageTtfText(), чтобы корректно
// отображать русские буквы. Аргумент $from задает исходную кодировку
// страницы (см. convert_cyr_string() для описания значений параметра).
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;
}
$file="img/1.jpg";
$size=getImageSize($file);
$image=imageCreateFromString(file_get_contents($file));
$string = toUnicodeEntities("Мой сайт http://mysite.ru");
$yellow = imageColorallocate($image, 255, 250, 0);
imageTtfText($image, 10, 0, $size[0]-170, 30, $yellow, "arial.ttf", $string);
imageRectangle($image, 10, 10,$size[0]-10,$size[1]-10,$yellow);
header("Content-type: image/jpeg");
imageJpeg($image, 'img/proba.jpg');
?>
<img src=img/proba.jpg alt=Изображение <?php echo $size[3];?>>
|
| |
|
|
|
|
|
|
|
для: Valick
(13.07.2007 в 14:04)
| | Спасибо большое - помогло!!! =) | |
|
|
|