Главная страница о компиляторе

## Описание функций gd*()

Функции gd* предназначены для генерации графических примитивов (прямоугольники, окружности, линии и т.п. ) и обработки файлов графических форматов PNG,JPEG,... Оригинальная документация самой библиотеки libgd
класс gdImage

#### imagePtr=gdImageCreate(xSize, ySize)

Создает в памяти графический образ размером xSize * ySize, возвращает указатель на графический образ imagePtr, который в последствии используется во всех других функциях.

#### imagePtr=gdImageCreateFromPNG(filename)
imagePtr=gdImageCreateFromGD(filename)
imagePtr=gdImageCreateFromGD2(filename)
imagePtr=gdImageCreateFromXBM(filename)
imagePtr=gdImageCreateFromJPEG(filename)

Зачитывает образ из файла соотвествующего формата.

#### imagePtr=gdImageCreateFromXPM(filename)
На сегодняшний день этот формат не удалось заставить работать - он тянет за собой кучу X11 библиотек и конца им не видно :) Может она и заработает когда clip будет генерить X-Windows программы.

#### imagePtr=gdImageCreateFromFILE(filename[, typeFile])

Зачитывает образ из файла с указанием нужного типа формата.
Поддерживаются типы файлов:

    	#define	GDFILE_PNG	1
    	#define	GDFILE_GD	2
    	#define GDFILE_GD2	3
    	#define GDFILE_XBM	4
    	#define GDFILE_JPEG	6

По умолчанию GDFILE_PNG. Типы описаны в include/gdinfo.ch Вместо filename можно указать "-|", в этом случае образ будет считываться из потока stdin

#### gdImageDestroy(imagePtr)

Уничтожает графический образ.

#### gdImagePNG(imagePtr, filename)
gdImageGD(imagePtr, filename)
gdImageGD2(imagePtr, filename)
gdImageJPEG(imagePtr, filename)

Записывает графический образ imagePtr в файл filename в соответсвующем формате. Расширения файла указывать обязательно. Вместо filename можно указать "|-", в этом случае образ будет записываться в поток stdout

#### gdImageToFile(imagePtr, filename[, typeFile])

Записывает графический образ imagePtr в файл filename в формате typeFile. по умолчанию тип файла - GDFILE_PNG. Типы описаны в include/gdinfo.ch Вместо filename можно указать "|-", в этом случае образ будет записываться в поток stdout

#### color_index=gdColorCreate(imagePtr, Red, Green, Blue)

Резервирует и возвращает номер цвета (color_index) для заказанной палитры RGB. Если лимит в 256 цветов уже выбран, то подбирает ближайший похожий и возращает индекс поборанного цвета.

#### gdColorTransparent(imagePtr, color_index)

Устанавливает цвет прозрачности изображения.

#### gdImageInterlace(imagePtr, interlaced)

Устанавливает черезстрочную "развертку".

#### gdImageCompare(imagePtr1, imagePtr2)

Сравнивает два образа побитно.

#### gdColorInfo(imagePtr, infoIndex, color_index)

Возвращает различную информацию о цветовых значениях
infoIndex может принимать значения:
GDINFO_COLORSTOTAL
GDINFO_TRANSPARENT
GDINFO_INTERLACED
GDINFO_COLORRED
GDINFO_COLORGREEN
GDINFO_COLORBLUE
GDINFO_SIZEX
GDINFO_SIZEY
Эти значения описаны в gdinfo.ch

#### gdImageGetPixel(imagePtr, x_coord, y_coord)

Возвращает индекс цвета в указанной точке

#### gdImageSetPixel(imagePtr, x_coord, y_coord, color_index)

Рисует точку указанным цветом color_index

#### gdImageBoundsSafe(imagePtr,x_coord,y_coord)

Определяет находится ли указанная точка внутри образа или находится за границами образа.

#### gdImageLine(imagePtr, x1, y1, x2, y2, color_index)

Рисует линию указанным цветом

#### gdImageDashedLine(imagePtr, x1, y1, x2, y2, color_index)

Рисует прерывистую линию указанным цветом

#### gdImageRectangle(imagePtr, x1, y1, x2, y2, color_index)

Рисует прямоугольник указанным цветом

#### gdImageFilledRectangle(imagePtr, x1, y1, x2, y2, color_index)

Рисует прямоугольник заполненный указанным цветом

#### gdImageArc(imagePtr, cx, cy, width, high, startangle, endangle, color_index)

Рисует круг, эллипс или дугу с центром cx, cy цветом color_index и радиусом width по оси Х и high по оси Y, начиная с угла startangle и заканчивая endangle.

#### gdImageFilledArc(imagePtr, cx, cy, width, high, color_index)

Рисует заполненный круг или эллипс с центром cx, cy цветом color_index и радиусом width по оси Х и high по оси Y.

#### gdImageFill(imagePtr, x, y, color_index)

Заполняет цветом color_index начиная с точки (x,y) в пределах цветовой границы

#### gdImageFillToBorder(imagePtr, x, y, bordercolor, color_index)

Заполняет цветом color_index регион с граничным цветом bordercolor начиная с точки (x,y)

#### gdImagePolygon(imagePtr, {{x1,y1}, {x2,y2}, ...{xn,yn}}, color_index)

Рисует область(регион) по указанным координатам цветом color_index

#### gdImageFilledPolygon(imagePtr, {{x1,y1}, {x2,y2}, ...{xn,yn}}, color_index)

Рисует заполненную область(регион) по указанным координатам цветом color_index

#### gdImageSetBrush(imagePtr, imagePtrBrush)

Устанавливает образ кисти, которым будут пользоваться функции рисующие линии и границы

#### gdImageSetTile(imagePtr, imagePtrTile)

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

#### gdImageSetStYle(imagePtr, colorsArray)

Устанавливает стиль прорисовки прерывистых и т.п. линий. В colorsArray надо набить цвета каждой точки, из которых будет состоять прерывистая линия. А также можно использовать специальные цвета описанные в gdinfo.ch
GDSTYLE_STYLED
GDSTYLE_BRUSHED
GDSTYLE_STYLEDBRUSHED
GDSTYLE_TILED
GDSTYLE_TRANSPARENT

#### gdImageChar(imagePtr, str, x, y, color_index, fontPtr)
gdImageCharUP(imagePtr, str, x, y, color_index, fontPtr)
gdImageString(imagePtr, str, x, y, color_index, fontPtr)
gdImageStringUP(imagePtr, str, x, y, color_index, fontPtr)

Рисует изображение символа или строки str фонтом fontPtr цветом color_index, который может иметь одно из описанных в gdinfo.ch значений.
GDFONT_GIANT
GDFONT_LARGE
GDFONT_NEDIUMBOLD
GDFONT_SMALL
GDFONT_TINY
Функции gdImageCharUp() и gdImageStringUp() рисуют символ или строку, повернутую на 270 градусов.

#### gdImageCharRotate(imagePtr, str, x, y, color_index, fontPtr, angle)
gdImageStringRotate(imagePtr, str, x, y, color_index, fontPtr, angle)

Выводит строку или символ str под углом angle цветом color_index и размером fontPtr (см. include/gdinfo.ch)

#### gdImageCharVector(imagePtr, str, x, y, angle, color_index, fontSize)
gdImageStringVector(imagePtr, str, x, y, angle, color_index, fontSize)

Выводит строку или символ str под нужным углом angle в векторной графике с размером fontSize (не путайте с fontPtr) и цветом color_index.

#### gdImageSector(imagePtr, cx, cy, width, high, startangle, endangle, color_index)
gdImageFilledSector(imagePtr, cx, cy, width, high, startangle, endangle, color_index)

Рисует сектор с центром cx, cy цветом color_index и радиусом width по оси Х и high по оси Y, начиная с угла startangle и заканчивая endangle.

#### gdImageTruncSector(imagePtr, cx, cy, width, high, widthtr, hightr, startangle, endangle, color_index)
gdImageFilledTruncSector(imagePtr, cx, cy, width, high, widthtr, hightr, startangle, endangle, color_index)

Рисует усеченный сектор с центром cx, cy и внешним радиусом width по оси Х и high по оси Y, и внутренним widthtr (X) hightr (Y), цветом color_index, начиная с угла startangle и заканчивая endangle.

#### Color index

Color index:
- color_index

    Например:
    	#include <gdinfo.ch>
    	.....
    	image=gdImageCreate(100, 100)
    	.....
    	color=gdColorCreate(brush, 255, 255)

    	gdImageLine(image, 10, 10, 90, 90, color)
    	....

- imageBrush

    For example:
    	#include <gdinfo.ch>
    	.....
    	image=gdImageCreate(100, 100)
    	.....
    	brush=gdImageCreate(3, 3)
    	gdImageFill(brush, 0, 0, gdColorCreate(brush, 255, 255))

    	gdImageSetBrush(image, brush)

    	gdImageLine(image, 10, 10, 90, 90, GDSTYLE_BRUSHED)
    	....

- imageTile

    For example:
    	#include <gdinfo.ch>
    	.....
    	image=gdImageCreate(100, 100)
    	.....
    	tile=gdImageCreateFromFile("tile.png", GDFILE_PNG)

    	gdImageSetTile(image, tile)

    	gdImageFill(image, 0, 0, GDSTYLE_TILED)
    	....

Главная страница о компиляторе

© Ю.Хныкин, uri@itk.ru, 2000