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

## Описание класса GDIMAGE

Предназначен для генерации графических примитивов (прямоугольники, окружности, линии и т.п.) и обработки файлов графических форматов PNG, JPEG,... Построен на основе библиотеки libgd, оригинальная документация самой библиотеки libgd
В свою очередь, на основе этого класса созданы классы простейших графиков, см. здесь
Простенький пример использования:

    im=GdImageNew(200, 200)
    // создать цвет
    white=im:newColor(255, 255, 255) // белый
    black=im:newColor() // черный
    red=im:newColor(255) // красный
    blue=im:newColor(,,255) // синий
    yellow=im:newColor(255, 255)
    fon=im:newColor(0xDE,0xEF,0xF5)
    // заполнить все белым цветом
    im:fill(0, 0, fon)
    im:filledArc(100, 100, 45, 45, yellow)
    // создать brush
    luch=GdImageNew(3, 3)
    luch:fill(0, 0, luch:newColor(255, 255))
    im:setBrush(luch)
    cx =100
    cy = 100
    for i=0 to 180 step 45
    	x1 = cos(PI*i/180) * 60 + cx
    	y1 = sin(PI*i/180) * 60 + cy
    	x2 = cos(PI*(i+180)/180) * 60 + cx
    	y2 = sin(PI*(i+180)/180) * 60 + cy
    	im:line(x1, y1, x2, y2, GDSTYLE_BRUSHED)
    next
    im:filledArc(93, 90, 6, 6, blue)
    im:filledArc(107, 90, 6, 6, blue)
    im:string("Hello world!", 50, 50, GDFONT_LARGE, black)
    im:stringVector("Привет мир!", 50, 150, 300, 0, black)
    im:filledTruncSector(100, 100, 30, 30, 26, 26, 40, 140, red)
    im:toPNG("asdf.png")

А вот и получившаяся картиночка!

### Атрибуты/свойства

Название атрибута | Значение атрибута
--- | ---
fileName | string
fileType | GDFILE_PNG | GDFILE_GD | GDFILE_GD2 | GDFILE_XBM | GDFILE_JPEG
sizeX | numeric
sizeY | numeric
color | numeric
image | numeric

### Методы/функции

#### функция GdImageNew

gd=GdImageNew(sizeX, sizeY) - создает новый образ.
gd=GdImageNew(fileName[, fileType]) - создает новый образ из образа fileName типа fileType (по умолчанию fileType=GDFILE_PNG)

#### метод gd:create(sizeX, sizeY)

Cоздает новый образ размером sizeX x sizeY

#### метод gd:fromFile(fileName[, fileType=GDFILE_PNG])

Cоздает новый образ из образа fileName типа fileType

#### метод gd:fromPNG(fileName)

Cоздает новый образ из fileName типа GDFILE_PNG

#### метод gd:fromGD(fileName)

Cоздает новый образ из fileName типа GDFILE_GD

#### метод gd:fromGD2(fileName)

Cоздает новый образ из fileName типа GDFILE_GD2

#### метод gd:fromXBM(fileName)

Cоздает новый образ из fileName типа GDFILE_XBM

#### метод gd:fromJPEG(fileName)

Cоздает новый образ из fileName типа GDFILE_JPEG

#### метод gd:destroy()

Уничтожает образ

#### метод gd:toFile(fileName[, fileType=GDFILE_PNG])

Записывает образ в fileName типа fileType

#### метод gd:toPNG(fileName)

Записывает образ в fileName типа GDFILE_PNG

#### метод gd:toGD(fileName)

Записывает образ в fileName типа GDFILE_GD

#### метод gd:toGD2(fileName)

Записывает образ в fileName типа GDFILE_GD2

#### метод gd:toJPEG(fileName)

Записывает образ в fileName типа GDFILE_JPEG

#### метод gd:setColor(color)

Устанавливает текущий цвет образа color.

#### метод gd:getColor(color)

Возвращает текущий цвет образа color.

#### метод gd:newColor(Red, Green, Blue)

Резервирует и возвращает номер цвета для заказанной палитры RGB. Если лимит в 256 цветов уже выбран, то подбирает ближайший похожий и возращает индекс поборанного цвета. По умолчанию Red=0, Green=0, Blue=0

#### метод gd:transparent(color_index)

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

#### метод gd:interlace(interlace)

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

#### метод gd:compare(item)

Сравнивает два образа побитно.item может быть объектом класса GDIMAGE, или образом

#### метод gd:info(index, color_Index)

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

#### метод gd:getPixel(x, y)

Возвращает индекс цвета в точке x, y

#### метод gd:setPixel(x, y[, color])

Рисует точку указанным цветом color с координатами x, y
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:bound(x, y)

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

#### метод gd:line(x1, y1, x2, y2[, color])

Рисует линию цветом color.
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:dashedLine(x1, y1, x2, y2[, color])

Рисует прерывистую линию цветом color.
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:rectagle(x1, y1, x2, y2[, color])

Рисует прямоугольник цветом color.
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:filledRectagle(x1, y1, x2, y2[, color])

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

#### метод gd:arc(cx, cy, width[, high, begangle, endangle, color])

Рисует круг, эллипс или дугу с центром cx, cy цветом color и радиусом width по оси Х и high по оси Y, начиная с угла startangle и заканчивая endangle.
По умолчанию: high=width, begangle=0, endangle=360
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:filledArc(cx, cy, width[, high, color])

Рисует заполненный круг, эллипс с центром cx, cy цветом color и радиусом width по оси Х и high по оси Y.
По умолчанию: high=width
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:sector(cx, cy, width[, high, begangle, endangle, color])

Рисует сектор с центром cx, cy цветом color и радиусом width по оси Х и high по оси Y, начиная с угла startangle и заканчивая endangle.
По умолчанию: high=width, begangle=0, endangle=360
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:filledSector(cx, cy, width[, high, begangle, endangle, color])

Рисует заполненный сектор с центром cx, cy цветом color и радиусом width по оси Х и high по оси Y, начиная с угла startangle и заканчивая endangle.
По умолчанию: high=width, begangle=0, endangle=360
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:truncSector(cx, cy, width, high, widthtrunc, hightrunc, begangle, endangle, color)

Рисует усеченный сектор с центром cx, cy и внешним радиусом width по оси Х и high по оси Y, и внутренним widthtrunc (X) hightrunc (Y), цветом color, начиная с угла startangle и заканчивая endangle.
По умолчанию: high=width, begangle=0, endangle=360
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:filledTruncSector(cx, cy, width, high, widthtrunc, hightrunc, begangle, endangle, color)

Рисует заполненный усеченный сектор с центром cx, cy и внешним радиусом width по оси Х и high по оси Y, и внутренним widthtrunc (X) hightrunc (Y), цветом color, начиная с угла startangle и заканчивая endangle.
По умолчанию: high=width, begangle=0, endangle=360
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:polygon(bounds[, color])

Рисует область(регион) по указанным координатам цветом color
bounds = {{x1, y1}, {x2, y2}, ..., {xn, yn}}
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:filledPolygon(bounds[, color])

Рисует заполненную область(регион) по указанным координатам цветом color
bounds = {{x1, y1}, {x2, y2}, ..., {xn, yn}}
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:fill(x, y[, color])

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

#### метод gd:fillToBorder(x, y, bordercolor[, color])

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

#### метод gd:setBrush(imagePtrBrush)

Устанавливает образ кисти, которым будут пользоваться функции рисующие линии и границы.
imagePtrBrush - может быть объектом класса GDIMAGE или графическим образом.

#### метод gd:setTile(imagePtrTile)

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

#### метод gd:setStyle(colorsArray)

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

#### метод gd:char(str, x, y, font[, color])
gd:charUp(str, x, y, font[, color])
gd:string(str, x, y, font[, color])
gd:stringUp(str, x, y, font[, color])

Рисует изображение символа или строки str фонтом font , который может иметь одно из описанных в gdinfo.ch значений, и цветом color.
font: GDFONT_GIANT
GDFONT_LARGE
GDFONT_NEDIUMBOLD
GDFONT_SMALL
GDFONT_TINY
Функции charUp() и stringUp() рисуют символ или строку, повернутую на 270 градусов.
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:charRotate(str, x, y, font[, angle, color])
gd:stringRotate(str, x, y, font[, angle, color])

Выводит строку или символ str под углом angle цветом color и фонтом font
По умолчанию: angle=0
Если параметр color опущен, то рисуется текущим цветом

#### метод gd:charVector(str, x, y, fontSize[, angle, color])
gd:stringVector(str, x, y, fontSize[, angle, color])

Выводит строку или символ str под нужным углом angle в векторной графике с размером fontSize (не путайте с фонтом font) и цветом color.
По умолчанию: angle=0
Если параметр color опущен, то рисуется текущим цветом

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

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