ГРУППА КУРСА
|
Главная >
Учебник PHP >
Использование готовых изображенийВ PHP можно не только создать изображение с нуля, но и загрузить существующее. Это делается с помощью функций, каждая из которых загружает изображение своего формата. Функция imageCreateFromJpeg() использует файл в формате jpeg. Возвращает дескриптор изображения. Загрузим файл picture.jpg из папки phpimages. Вы можете использовать эту картинку: ![]() Напишем скрипт, который загружает изображение из файла и выводит в браузер:
Это обычное изображение, с ним можно работать, добавлять на него различные фигуры. Обратите внимание, использованный файл имеет один формат, а вывод картинки сделан в другом формате. Это вполне допустимо. Для использования файлов разных форматов есть функции
Существуют функции и для других форматов. Набор поддерживаемых форматов зависит от сборки PHP. Во всех функциях вместо адреса файла можно указать URL. Для этого в файле php.ini должна быть включена опция allow_url_fopen, позволяющая загружать файлы из интернета. Иногда нужна не вся картина, а только её часть. Тогда нужно сделать так:
Для копирования используется функция imageCopy(). Она возвращает true в случае успеха. imageCopy (принимающее изображение, оригинал, X принимающего, Y принимающего, X оригинала, Y оригинала, ширина, высота) Параметры:
принимающее изображение - дескриптор изображения, в которое вставляется копия оригинал - дескриптор изображения, которое копируется x принимающего - координата X в принимающем изображении y принимающего - координата Y в принимающем изображении x оригинала - координата X в оригинале y оригинала - координата Y в оригинале ширина - ширина копируемой части высота - высота копируемой части В параметрах указываются координаты левого верхнего угла копируемой части. Выведем на экран часть картинки из файла:
Результат: ![]() Функция imageCopyResized() копирует часть картинки и изменяет её размеры. imageCopyResize (принимающее изображение, оригинал, X принимающего, Y принимающего, X ориринала, Y оригинала, новая ширина, новая высота, оригинальная ширина, оригинальная высота) Функция imageCopyResampled() также копирует с изменением размеров. Она отличается тем, что производит копирование с ресемплированием. Оно лучше сохраняет качество изображения при уменьшении. Изменим размеры картинки, которая скопирована в предыдущем примере. Для этого заменим функцию imageCopy() на imageCopyResized(). Не будем стремиться сохранить пропорции.
Новые размеры копируемой части 480 на 235. Картинка выглядит так: ![]() Попробуйте использовать обе функции. Сделайте разные варианты изменения размеров. |