Это 12 урок из серии уроки PHP для начинающих и сегодня мы рассмотрим некоторые функции позволяющие работать с изображениями, получать дополнительную информацию о них, а так же функции с помощью которых можно рисовать геометрические фигуры.
Функции для получения информации о изображениях
GetImageSize — функция получает размеры JPG, PNG или GIF изображений
array getimagesize(string filename, array [imageinfo]);
С помощью функции GetImageSize можно определить размеры любых изображений в файлах JPG, PNG или GIF. Функция возвращает размеры, тип файла и строку текста с указанием высоты и ширины, которую можно использовать в стандартном теге HTML <IMG>.
Функция возвращает массив из четырех элементов.
- Индекс 0 содержит ширину изображения в пикселах.
- 1 элемент содержит высоту.
- 2 элемент - флаг типа изображения. 1 = GIF, 2 = JPG, 3 = PNG.
- 3 элемент - строку с корректным заданием «height=xxx width=xxx» для прямого использования в теге IMG
function ImageTag($imagefile){ $size = GetImageSize($imagefile); echo ("<IMG SRC='".$imagefile."' ".$size[3]."></IMG>"); }
Первый параметр данной функции — имя файла(т.е. путь и имя).
Использование параметра imageinfo позволяет получить дополнительную информацию о файле изображения, но только при работе с форматом JPEG. Его использование необязательно.
ImageSX - функция возвращает ширину изображения, которое определяется im.
int imagesx(int im);
ImageSY — функция возвращает высоту изображения, которое определяется im.
int imagesy(int im);
Функции для рисования геометрических фигур
ImageLine — нарисовать линию
int imageline(int im, int x1, int y1, int x2, int y2, int col);
ImageLine рисует линию от x1,y1 до x2,y2 (левй верхний точка — 0,0) в изображении im цветом col.
ImageDashedLine — нарисовать пунктирную линию
int imagedashedline(int im, int x1, int y1, int x2, int y2, int col);
ImageLine рисует пунктирную линию от x1,y1 до x2,y2 (верхний левй угол — 0,0) в изображении im цветом col.
ImageArc — рисует часть эллипса.
int imagearc(int im, int cx, int cy, int w, int h, int s, int e, int col);
ImageArc рисует чать эллипса с центром в точке с координатами cx, cy (верхний левый угол — 0,0) в изображении im.
Параметры w и h определяют высоту и ширину эллипса в соответствии с начальной и конечной точкой, определенными в аргументах s и e, указанных в градусах.
ImagePolygon — нарисовать многоугольник
int imagepolygon(int im, array points, int num_points, int col);
ImagePolygon создает многоугольник в изображении im. points — массив, содержащий вершины многоугольника, т.е points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, и т.д. num_points — общее число вершин.
ImageRectangle — нарисовать прямоугольник
int imagerectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageRectangle создает прямоугольник цветом col в изображении im, начиния с левой верхней координаты x1,y1 и заканчивая нижней правой x2,y2. 0,0 — левй верхний угол изображения.
ImageFilledPolygon — нарисовать закрашенный многоугольник
int imagefilledpolygon(int im, array points, int num_points, int col);
ImageFilledPolygon создает закрашенный многоугольник в изображении im. Параметр points — массив, содержащий вершины многоугольника:points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1 и т.д. num_points — общее число вершин.
ImageFilledRectangle — нарисовать закрашенный прямоугольник
int imagefilledrectangle(int im, int x1, int y1, int x2, int y2, int col);
ImageFilledRectangle создает закрашенный прямоугольник цвета col в изображении im, начиная с координат верхнего левого угла x1, y1, и заканчивая в правом нижнем — x2, y2. 0, 0 — левый верхний угол изображения.
ImageFill — заливка области.
int imagefill(int im, int x, int y, int col);
ImageFill выполняет заливку, начиная с координат x, y (верхний левй угол — 0,0) цветом col изображения im. Более точно, функция осуществляет заливку области, окружающей точку с координатами x, y тем же цветом, что и сама точка (col). Следовательно Вы можете использовать эту функцию для заливки либо целого изображения (при условии, что изображение пустое), либо для заливки уже существующих геометрических фигур.
ImageFillToBorder — заливка области до указанного цвета
int imagefilltoborder(int im, int x, int y, int border, int col);
ImageFillToBorder выполняет заливку,устанавливая для контура цвет border. Начальная точка заливки — x,y (верхний левый угол — 0,0) и облласть заливается цветом col.
Получайте новые статьи блога прямо себе на почту
Очень полезный урок о рисовании в PhP