{lang: ‘ru’}

уроки PHP для начинающих, php изображения, php работа с изображениями, php рисованиеЭто 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.


Получайте новые статьи блога прямо себе на почту