Создание изображения с текстом php

Как нанести текст на изображение с помощью PHP?

PHP – многофункциональный язык программирования, и мы с вами не один раз в этом убеждались. Сегодня мы немножко поработаем с графикой, а именно – я научу вас наносить нужный вам текст на изображение с помощью этого языка.

Для начала приведу полный код скрипта, который хорошо прокомментирован:

А теперь я расскажу вам о некоторых его нюансах.

1. Переменная $font – обязательно (во избежание ошибок) должна содержать в себе ссылку на файл шрифта. Для примера в конце статьи прикреплен шрифт «Arial».

2. Переменная $pic. Здесь в зависимости от вашего формата изображения используете соответствующую функцию:

PNG – imagecreatefrompng;
JPG – imagecreatefromjpeg;
GIF – imagecreatefromgif.

3. Переменная $color – цвет шрифта в RGB-формате. Черный цвет – «0, 0, 0», белый – «255, 255, 255» и т.д.

4. Функция «imagepng». Здесь вы выбираете ту функцию, в формате которой хотите сохранить изображение:

PNG – imagepng;
JPG – imagejpeg;
GIF – imagegif.

Обратите внимание, что для того, чтобы не происходило перезаписи файлов, в качестве имени файла выступает временная метка Unix. Расширение файла вы прописываете сами в зависимости от выбранной функции сохранения.

Ну вот, вроде, и все, что вам нужно знать, остальные моменты помечены в коде.

Часть «./» означает что чтение и сохранение файлов осуществляется в той папке, где находится ваш скрипт.

Если возникли вопросы – задавайте их в комментариях.

Источник

Создание динамической картинки со своим текстом и изображением с помощью PHP и использованием Imagick

В данной статье я покажу и расскажу как быстро и просто добавлять свои вотемарки, текст и изображения на заранее заготовленную картинку. Тем самым Вы сможете создать свою картинки с изменяемым ее содержанием. Создаем свою картинку с помощью PHP

Данную технологию мы используем в наших проектах уже не один год, это выглядит примерно вот так:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php
Весь текст и аватарка накладывается с помощью кода и класса Imagick, в нашем случае мы используем это в ботах при ответах, но это не ограничивается этим.

Я постараюсь максимально описать процесс понятным языком, потому что статья рассчитана для новичков и давайте начнем!

Создаем файл в формате php, в моем случае это будет test.php

В самое начало добавляем define, что бы работало как на Win так и на Unix системах

Теперь подключаем классы Imagick и ImagicDraw и указываем с каким изображением будем работать, я взял за основу samsung s10+ исходники будут в архиве в конце статьи

Давайте сразу наложим текст и выведем полученное изображение в браузере + сохраним готовое изображение на сервере

Что получилось? Достаточно открыть на файл test.php в браузере
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Как видите все очень просто и понятно, давайте поменяем цвет текста и сделаем его больше, тут нам уже пригодиться ImagickDraw

Получаем это:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php
Теперь текст видно великолепно, давайте еще я покажу как применять разные шрифты на любой вкус и накладывание картинки, а в конце я просто оформлю это что бы вы уже могли переписывать все под себя, это очень затягивает на самом деле!

Скачиваем какой ни будь шрифт и кидаем его туда же где лежат все наши файлы

Максимально все прокомментировал, но если возникнут вопросы, пишите в комментарии. В данном коде можно использовать функцию RoundingOff что бы округлять и уменьшать накладываемые изображения, так же для другого текста я использовал другие параметры и вот что получилось:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php
В целом для генерации картинок на PHP этого уже достаточно что бы делать красивое и уникальное оформление, дальне все зависит от вашего креативного подхода и будущего применения. Вот что можно сделать например:

Получаем готовое изображение

Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Кроме этого картинку можно немного сжимать что бы они меньше занимала места

Для наглядности наше сжатое изображение выглядит теперь так:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Что бы проще было понимать какие именно координаты нужно указывать, используйте любой редактор, в моем случае это PAINT достаточно навести на место куда нужно разместить текст и указать это потом в коде
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php
Значения могут быть не точными, но очень близки к реальным. Архив с файлами и кодом можно скачать ниже. Оцените статью лайком, так мы понимаем что эта тема интересна и будем дальше писать об этом 😉

Теперь вы знаете как с помощью PHP создать изображение!

Источник

PHP и чтение текста на изображении: начало

Вероятно многим приходилось сталкиваться с расшифровкой текста на изображениях, по совершенно разным причинам.
Совсем недавно мне понадобился такой алгоритм, которым я буду рад с вами поделиться. Данный пример не претендует на универсальность и требует доработки, но в частном случае он выполняет свою задачу.

1. Работа с исходным изображением.

У нас есть изображения фиксированного размера, но с разным текстом.
В моем случае такие:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

1.1 Упрощаем изображения

Для этого я безболезненно обесцвечиваю изображение и выкручиваю контрастность. Безусловно, в каждом частном случае, преобразование изображения в удобную для нас форму может затребовать других действий.
Преобразование в моем случае делается так:

После этого я получаю инвертированное двухцветное черно-белое изображение.

1.2 Находим символы на изображении

В моем случае задача простая: все символы находятся всегда на одних и тех же местах. Поэтому немного хардкода:

2. Преобразуем символы в массив

На выходе получаем нечто такое:
01111111110000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000100000000
00000000000000

3. Распознание символа в массиве

Используем простую однослойную нейронную сеть. Для начала необходимо ее научить.

Для ускорения, можно проводить обучение в несколько итераций.
На самое главное это «покормить» нашу нейросеть всеми символами.
Что бы спросить сеть используем метод:

Пример работы алгоритма:
Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Источник

Создание изображения с текстом php

Для понимания этой статьи необходимо иметь представление об элементарных основах PHP, а также работе с изображениями.

Примечание переводчика

Примечание переводчика

Цели: научить использовать различные функции библиотеки gd, предназначенные для динамического создания изображений.

Библиотека GD представляет собой набор функций для работы с изображениями. Благодаря ей можно не только динамически создавать собственные изображения, но и получать о них различную информацию, изменять размер и т.д.

Внимание: Прежде чем начать работу, нужно кое-что узнать. Дело в том, что существует несколько различных версий этого расширения PHP, а поставщики услуг хостинга могут отключить определенные функции, а то и всю библиотеку GD. С какой целью? Известно, что обработка изображений – это большая нагрузка на сервер.

phpinfo.php

Если у вас появится таблица похожая на эту – все нормально (особенно если версия библиотеки новее, чем 2.0)

I) Создание холста

Для начала необходимо создать пустой холст. Сразу поясним, что в данной статье мы будем рассказывать исключительно об изображениях в формате PNG или JPG, формат GIF останется без нашего внимания. Дело в том, что этот формат перестал поддерживаться библиотекой GD, начиная с версии 1.3, правда ограниченная поддержка GIF появилась опять в версии 2. Вывод: формат PNG – выгодная альтернатива GIF

Важное замечание

Во всех учебных курсах сайта www.phpdebutant.org, скрипты имели целью динамическое создание html-страниц. На этот раз, используя библиотеку GD, мы создаем изображения, поэтому в данном случае вы должны забыть на время конструкции echo и print. По умолчанию PHP-скрипт генерирует html-страницу, что не требует уточнения в виде отправки особого http-заголовака. Но если мы создаем изображение, в самом начале скрипта необходимо указать его тип, отправкой соответствующего заголовка, например для PNG: header («Content-type: image/png»);

Дальнейшие действия чем-то напоминают работу с графическим редактором. Вы создаете новое изображение, указывая размеры, выбираете цвет фона и сохраняете его в нужном формате. Данную последовательность действий иллюстрирует следующий скрипт:

imagevide.php

Этот небольшой скрипт генерирует красный прямоугольник (очень скромное, но хорошее начало). Описание механизма:

Ее параметры соответствуют красной, зеленой и синей компонентам цвета и представляют из себя целые числа от 0 до 255. В этом примере мы создали красный цвет.

Важное замечание

этот цвет соответствует цвету фона, поскольку он первым добавляется в палитру изображения

Вызов скрипта imagevide.php (пустое_изображение.php) создаст изображение в формате PNG. Для того, чтобы его использовать на web-сайте, нужно действовать так же, как и в случае с «классическими» изображениями.

Совсем несложно! Вы даже можете передавать параметры скрипту, который будет генерировать изображение (например цвет фона).

II) Функции прорисовки изображения

Сначала вам необходимо знать, что любой рисунок связан с понятием координат, поэтому в этом небольшом абзаце статьи мы дадим некоторые представления об этом вопросе.
Верхний левый угол изображения имеет координаты (x=0, y=0), а нижний правый (x = ширина изображения, y=высота изображения).

Например, для изображения с разрешением 100 на 200 пикселей координаты будут такими:

Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Различные функции прорисовки изображения принимают в качестве параметров его координаты. Приучайтесь передавать их в требуемом порядке. Так, например, для того, чтобы нарисовать прямоугольник, необходимо передать координаты двух точек соответствующей функции (ImageRectangle). Координаты первой точки соответствуют верхнему левому углу изображения, координаты второй точки соответствуют нижнему правому углу. Не путайте аргументы, поскольку некоторые функции могут выдать ошибочные результаты.

Вот список функций, которые необходимы для прорисовки различных форм, а также для размещение текста на создаваемом изображении.
Для каждой функции вы найдете краткое описание синтаксиса и назначения.
Мы не ставим себе целью привести пример использования для каждой функции, здесь вы найдете только краткое описание. В таблице также указана версия библиотеки, начиная с которой поддерживается та или иная функция. Примеры употребления некоторых функций можно найти в разделе официального мануала, посвященного библиотеке расширения GD

Эта функция похожа на ImageCreate но глубина цвета изображения не ограничена 256 цветами. (формат JPEG предпочтителен)

Меняет толщину линий, созданных различными функциями.

III) Пример первый: статистика посещений сайта в виде графика

Чтобы применить полученные знания на практике – создадим простой скрипт-пример. Часто требуется представить статистику посещения сайта в форме гистограммы

a) Статистика посещений: создание изображения и цвета

Начнем с создания массива, который содержит в себе статистику посещений сайта за 12 месяцев (12 элементов). Затем сгенерируем картинку разрешением 400х300 и создадим три цвета, один из которых (белый) будет цветом фона.

visites.php

b) Рисуем оси графика

Поместим горизонтальную ось времени (простая черная линия) в нижнюю часть изображения, оставив поле в 10 пикселов.

Внизу подписываем номер каждого из 12 месяцев, используя цикл for и функцию ImageString. Номера месяцев располагаются через каждые 30 пикселов, начиная с левой стороны изображения.

Наконец, проводим вертикальную линию, ось ординат статистики посещений.

c) Рисуем палочки

Теперь переходим к более сложной задаче – рисованию палочек.

Для начала нам необходимо узнать максимальное число посетителей, которое мы представим на графике. Здесь мы выбрали случайное значение – 1000, но на самом деле вам, наверное, придется его вычислять, осуществляя запрос на максимальное значение столбца вашей таблицы MySQL. Мы же сделаем проще…

Для каждого месяца необходимо вычислить высоту создаваемого прямоугольника. Для этого необходимо решить уравнение, зная что высота прямоугольника (палочки) для максимального количества посещений будет равна высоте всего изображения. Исходя из количества посещений за определенный месяц мы получаем искомую высоту

Нам остается только прорисовать каждый прямоугольник, начиная с координат его верхнего левого угла и кончая нижним правым.

Добавим количество посещений за месяц над каждым прямоугольником для улучшения гистограммы.

// максимум посещений
$visitesMax = 1000 ;

d) А вот и результат!

Результат, конечно, не назовешь превосходным, но следует учитывать, что нам удалось сделать что-то более или менее презентабельное, написав всего 20 строчек простого кода, что само по себе уже неплохо.

Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

Гистограмма посещаемости по 12 месяцам.

IV) Другие полезные функции

Вот еще один набор полезных функций, предназначенных для управления цветовой палитрой, а также для получения различной информации об изображениях.

Синтаксис с ссылкой на документацию

Выполняет те же действие, что и ImageCopy, а также производит изменение размеров изображения. Смотрите следующий пример

Идентична ImageCopyResampled, но результат масштабирования менее четок, зато функция работает быстрее.

V) Пример второй: генерация миниатюр (уменьшенных копий изображения)

Этот пример имеет целью создание уменьшенной копии существующего изображения. Возможно, вам придется реализовывать эту функцию при написании фотогалереи на РНР, в которой фотографии представлены в форме миниатюр, а посетитель может щелкнуть на них мышью, чтобы увеличить. В данном примере мы сгенерируем миниатюру, снабженную рамкой и некоторыми пояснениями (размер и имя изображения)

a) Начало

В отличие от первого примера, данный скрипт будет записывать изображение в файл, а не генерировать его на лету. Поэтому необходимость в отправке особого http-заголовка при помощи функции header() отпадает. Таким образом, скрипт становится «классическим» и может генерировать html.

Начнем с создания пустого холста размером 200х150, затем считаем существующее изображение (из файла) при помощи функции ImageCreateFromJpeg. Потом нам также могут понадобится размеры изображения-источника, для этого мы воспользуемся imagesx и imagesy.

miniature.php

b) Рамка

Предварительно создав несколько цветов, рисуем рамку. Чтобы упростить задачу, мы будем использовать различные оттенки серого.

Существует простой способ создания подобной рамки, который заключается в прорисовке нескольких разноцветных прямоугольников, вложенных один в другой. Начинаем с самого большого прямоугольника темного цвета (его размер совпадает с размерами изображения). Затем на него накладываем другой меньший по размерам прямоугольник, цвет которого будет более светлым и т.д.

Толщина создаваемой нами рамки – 8 пикселов.

c) Создание миниатюры

Для создания миниатюры используется функция ImageCopyResampled. Она копирует одно изображения на другое, при этом может изменять размер копируемой области. Данная функция принимает несколько параметров, значение которых очевидно. Перечислим их по порядку:

Создав миниатюру, добавим небольшой текст с информацией на нее.

Внимание

Функция ImageCopyResampled – создает большую нагрузку на сервер, не злоупотребляйте ей!

d) Сохранение результата.

Нам остается только сохранить полученный результат в файле, имя которого начинается с mini_. Это мы сделаем при помощи функции ImageJpeg.
Когда эта функция имеет только один параметр, изображение выводится в браузер пользователя. Однако если в качестве второго параметра передается имя файла, никакого вывода в браузер не произойдет, а картинка будет сохранена в указанном файле. То же правило действует для функции ImagePng

Вот результат «mini_photo3.jpg»:

Создание изображения с текстом php. Смотреть фото Создание изображения с текстом php. Смотреть картинку Создание изображения с текстом php. Картинка про Создание изображения с текстом php. Фото Создание изображения с текстом php

VI) FAQ и заключение

Библиотека GD предоставляет широкие возможности для работы с изображениями, но они порой слишком загружают сервер (это справедливо для большинства хостингов)

Вот небольшой набор вопросов и ответов по часто встречающимся проблемам

Мое изображение не выводится, браузер ведет себя так, как будто изображение не существует.
Скорее всего ошибку следует искать в вашем скрипте. Сделайте комментарий из строки header(«Content-type: image/png») (или header(«Content-type: image/jpeg» )), а также из строки ImagePng($im) (илиImageJpeg($im) ), чтобы получить сообщение об ошибке

Скрипт долго выполняется на моем хостинге, это нормально?
Если вы используйте «тяжеловесные» функции как ImageCopyResampled, это неудивительно. У интерпретатора PHP, установленного на хостинге, и без этого работы хватает…

Цвета моего изображения искажены (или оно выводится как черно-белое), почему?
Скорее всего вы использовали функцию ImageCreate, которая ограничивает цветовую палитру 256 цветами. Чтобы преодолеть это ограничение используйте функцию ImageCreateTrueColor вместо ImageCreate.

Заканчивая данную статью, покажем результат, который можно получить, скомбинировав два примера этой статьи. Тут к гистограмме мы добавили полутона, используя тот же метод, что и в примере 2.

Источник

Создание изображений средствами PHP

Эта статья рассчитано на программистов со средним уровнем знания PHP.
Введение

PHP не только идеально подходит для вывода HTML страниц, но также включает в себя мощные средства создания изображений «на лету». Приведу лишь несколько примеров:

* Создание кнопок с надписями, текст которых хранится в базе данных
* Графическое отображение статистических данных
* Создание различных графиков и диаграмм

В этой статье рассматривается использование библиотеки GD для обработки изображений. GD является внешней библиотекой, доступной в виде модуля PHP

Цель этой статьи

В статье освещаются следующие вопросы:

* Что такое заголовки (headers)
* Использование функций библиотеки GD для динамического создания изображений средствами PHP
* Использование HTTP заголовков для указания браузеру, что вывод PHP-скрипта представляет собой изображение

Создание заголовка

По умолчанию, PHP выводит один заголовок: Content-type: text/html, означающий, что результатом работы скрипта является HTML код

Используемый по умолчанию заголовок Content-type: text/html показывает, что выводится HTML код, который браузер должен обработать. Если изменить его скажем на Content-type: text/plain, то браузер будет воспринимать документ просто как текст и выводить его «как есть» Для вывода заголовков в PHP используется функция header().

Конечно, послать заголовок недостаточно, нужно еще и позаботиться о том, чтобы вывести данные в нужном формате. Не следует думать, что, просто послав заголовок Content-type: application/zip и выведя «Всем привет», вы сможете открыть результат работы такого скрипта с помощью WinZip’а.

Примечание Web-сервер перед отправкой данных клиенту может добавлять и другие заголовки помимо Content-type, их рассмотрение выходит за рамки данной статьи.

Что нам потребуется

Создаем изображения

Генерация изображения состоит из трех основных этапов:

* Создание изображения
* Отрисовка изображения
* Вывод полученной картинки в браузер

Для создания изображения используется функция ImageCreate(). В качестве аргументов функция принимает ширину и высоту изображения в пикселах и возвращает идентификатор, который в дальнейшем используется при вызове функция для работы с изображением.

Перед тем, как что-либо рисовать, необходимо зарегистрировать цвета, которые вы собираетесь использовать. Для этого предназначена функция ImageColorAllocate(). Этой функции передаются идентификатор изображения и три числа, задающие цвет (RGB — red, green, blue). Функция возвращает идентификатор цвета, который используется в последующих операциях отрисовки изображения.
Пример:

Существует большое количество функций отрисовки изображений. Полное их рассмотрение выходит за рамки данной статьи. Для ознакомления с этими функциями, обратитесь к руководству по PHP.

Примечание Заголовки относятся ко всему документу. То есть если вы послали заголовок, показывающий, что вы выводите изображение, вы не можете выводить текст. А после того, как вы вывели первый байт данных, заголовок уже нельзя изменить! Это значит, что сначала нужно вызвать header() и только затем начинать вывод данных, иначе вы получите сообщение об ошибке. Если вы не посылаете заголовок Content-type, PHP автоматически посылает Content-type: text/html как только вы начинаете вывод данных.

Как это выглядит на практике

Практическое использование функций библиотеки GD мы рассмотрим на примере скрипта, строящего график биоритмов. По ходу изложения будем приводить выдержки из кода скрипта, который полностью приведен в конце статьи.

Теория биоритмов гласит, что эмоциональная, физическая и интеллектуальная активность каждого человека циклически изменяются с определенными интервалами. В момент рождения, все три кривые выходят из нулевой точки и изменяются в течение всей жизни. Если кривая проходит выше нулевой отметки — это активная фаза, ниже — пассивная. Момент пересечения нулевой отметки означает критический день: вы подвержены риску эмоциональной, физической или интеллектуальной «катастрофы». А в тот день, когда все три кривые проходят через ноль, лучше вообще воздержаться от работы над важными PHP проектами.

У каждой кривой собственный цикл:

* Физическая: 23 дня
* Эмоциональная: 28 дней
* Интеллектуальная: 33 дня

Кривые представляют собой синусоиды, поэтому для вычисления значений биоритмов мы можем воспользоваться встроенной функцией sin()

Установка даты рождения

Сначала мы должны получить дату рождения и вычислить, сколько дней человек прожил до текущей даты. Результат будет использован для вычисления текущей фазы биоритма.

* Проверяем, была ли введена дата рождения.
* Если нет, отображаем форму для ввода даты
* После проверки правильности ввода вычисляем сколько дней человек прожил до текущей даты используя юлианский календарь.

Совет Для вычисления мы используем юлианский календарь. Дата рождения и текущая дата переводятся в количество дней по юлианскому календарю. Разность этих двух чисел дает искомый результат.

Примечание В этом примере функция gregorianToJD() реализована на PHP (см. полный код скрипта ниже). Вообще-то, эта функция реализована в календарном модуле PHP, но на момент написания этой статьи эта функция работала некорректно в последней версии PHP. Поэтому была использована «самодельная» функция. Если в вашем PHP включена поддержка функций работы с календарем, вам нужно удалить определение этой функции из кода в примере.

Подготовка изображения

Порядок действий Подготовка к рисованию состоит из вызова нескольких функций GD. Следующий участок кода:

* Создает изображение нужных размеров.
* Регистрирует используемые цвета.
* Очищает изображения, заливая его цветом фона

Совет Перед началом отрисовки изображения залейте его цветом фона. Это гарантирует, что фон изображения будет того цвета, что вам нужен. Это также полезно для создания прозрачного фона, как будет показано далее.

Примечание Для простоты изложения, примеры в этой статье не содержат проверок ошибок. «Настоящий» скрипт обязательно должен включать проверки на ошибки

Рисуем рамку и выводим текст

Функция ImageString() рисует строку текста на изображении в заданном месте. Нам необходимо вывести пять строк Первые две будут находиться в верхней части рисунка и отображать дату рождения и текущую дату, остальные три под графиком будут показывать, каким цветом какой биоритм изображен. Использование идентификаторов цветов, записанных в переменные, позволяет ссылаться на цвета, не указывая каждый раз RGB значения.

* Рисуем рамку, внутри которой будет размещен график, и оси
* Выводим текст примечаний

Рисунок 1. График биоритмов

Рисуем кривые

* Функция drawRhythm вызывается три раза с различными параметрами
* Функция drawRhythm содержит цикл, который вычисляет значение биоритма для каждого дня, и рисует линии.

Совет Для получения более плавной кривой следовало бы при вычислениях использовать интервалы меньшие чем один день, однако для целей этой статьи полученного качества изображения вполне достаточно.

Вывод изображения клиенту

Итак, мы нарисовали наш график. Теперь остается отправить это изображение в браузер.

* Посылаем заголовок, показывающий что мы выводим изображение в формате GIF или PNG.
* Определяем чересстрочный формат вывода изображения.
* Делаем цвет фона прозрачным.
* Используя функцию imageGIF или imagePNG выводим изображение.

Совет После вызова imageGIF или imagePNG, изменения в изображение вносить уже нельзя, так как оно уже было отправлено клиенту.

Использование ImageInterlace() позволяет задать режим чересстрочного или прогрессивного вывода изображения (если используемый формат изображения позволяет это). Этот режим интересен тем, что позволяет браузеру начать отображение картинки еще до ее полной загрузки. Сначала выводится изображение с низким качеством, которое улучшается по мере загрузки данных. Это незаменимо при передаче больших изображений по низкоскоростным каналам.

Итак, мы написали программу, создающую изображение. Как ее использовать? На самом деле все очень просто: Вы можете использовать скрипт в HTML коде как обычный файл изображения. Поскольку скрипт в нашем примере является интерактивным, то для его использования нам нужно ввести http://my.server.net/script.php в адресную строку браузера. Для скрипта, не требующего пользовательского ввода, например получающего информацию из базы данных, просто вставьте в HTML код страницы тэг такого содержания:

Полный код скрипта

Заключение

В данной статье рассмотрены основы создания изображений в PHP с использованием функций графической библиотеки GD. На достаточно сложном примере показано, как можно создавать изображения на основе ввода пользователя. Взяв за основу этот пример, вы сможете создавать изображения для решения ваших конкретных задач.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *