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

Описание класса 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