Первым делом следует проверить, подключена ли у вас GD library, используя функцию:
phpinfo();
Если да, то продолжим.
Итак, нам понадобится всего лишь три файла: pic.jpg — это картинка, которую мы хотим исписать текстом, index.php — файл с HTML-кодом, который будет показывать картинку, img.php будет содержать php-код, добавляющий текст.
Так, с картинкой всё понятно, а вот что будет находиться в index.php:
<?php $name = 'Михаил Рудрастых'; ?> <img src="img.php?name=<?php echo urlencode($name) ?>" alt="" />
А теперь самое интересное, img.php:
// наше изображение $img = ImageCreateFromJPEG("pic.jpg"); // определяем цвет, в RGB $color = imagecolorallocate($img, 255, 0, 0); // указываем путь к шрифту $font = 'arial.ttf'; $text = urldecode($_GET['name']); imagettftext($img, 24, 0, 365, 159, $color, $font, $text); // 24 - размер шрифта // 0 - угол поворота // 365 - смещение по горизонтали // 159 - смещение по вертикали header('Content-type: image/jpeg'); imagejpeg($img, NULL, 100);
Поддержка кириллицы будет зависеть от выбранного шрифта.
Вот и всё, функцию imagettftext() в файле можно использовать по несколько раз, меняя параметры.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Есть лог с данными, к примеру фамилия, дата, ещё что то, загруженные на сайт.
Есть картинка 140х90 мм. Вопрос - как человек может впечатать свою фамилию в форму и
скачать картинку себе на комп?
Пример смотрите здесь http://cqham.kz/cqgc/kedr/
Как сделать такую функцию?
в параметре action формы вписать ссылку на файл, который будет возвращать картинку, если нужно просто открывать ее - то можно использовать пример с данного поста,
если нужно обязательно скачивать, тогда через header force download
Там на указанном сайте всё это немного посложнее выглядит.
Пройдите по ссылке во вкладку "участник", введите туда например R7TT,
посмотрите что высветится. Там загружается логи с данными, потом человек приходит на сайт вводит туда свои данные - R7TT и получает возможность скачивать заполненные дипломы и карточки.
Как это сделать, не пойму. С html кодом знаком, а вот с PHP программированием нет.
разбираетесь, как работают формы в PHP?
Скорее всего увы нет.
Не получилось реализовать ваш пример, можете скинуть архив файлов?
Три файла:
index.php
(содержимое выше в статье)img.php
(содержимое выше)Все файлы находятся в одной директории.
Не работает пример
Вот что получается
http://s013.radikal.ru/i323/1412/c2/7801422af7a4.jpg
В скрипт createIMG.php не передается никаких параметров.
спс за пример, все работает, ракам просто клешни надо отрубить и вырастить руки)))
а если нужно текст переносить на следующую строку, допустим он не помещается на одну строку?
Можете несколько раз использовать
imagettftext()
— для каждой строки отдельно.Мне нужно было переносить текст на следующую строку, при этом неизвестно сколько слов будет в тексте, а соответственно - сколько строк.
Уже нашел решение на в документации php, там в комментах написали специальную функцию для этого