Po przygotowaniu kolekcji wystąpień klasy IGraphicsData można renderować grafikę za pomocą metody
drawGraphicsData()
klasy Graphics. Metoda
drawGraphicsData()
wykonuje kolejno zestaw instrukcji rysowania z wektora wystąpień klasy IGraphicsData.
// stroke object
var stroke:GraphicsStroke = new GraphicsStroke(3);
stroke.joints = JointStyle.MITER;
stroke.fill = new GraphicsSolidFill(0x102020);// solid stroke
// fill object
var fill:GraphicsGradientFill = new GraphicsGradientFill();
fill.colors = [0x0000FF, 0xEEFFEE];
fill.matrix = new Matrix();
fill.matrix.createGradientBox(70, 70, Math.PI/2);
// path object
var path:GraphicsPath = new GraphicsPath(new Vector.<int>(), new Vector.<Number>());
path.commands.push(GraphicsPathCommand.MOVE_TO, GraphicsPathCommand.LINE_TO, GraphicsPathCommand.LINE_TO);
path.data.push(125,0, 50,100, 175,0);
// combine objects for complete drawing
var drawing:Vector.<IGraphicsData> = new Vector.<IGraphicsData>();
drawing.push(stroke, fill, path);
// draw the drawing
graphics.drawGraphicsData(drawing);
Modyfikując jedną wartość w ścieżce występującej w przykładowym rysunku, można wielokrotnie narysować kształt i stworzyć znacznie bardziej skomplikowany obraz:
// draw the drawing multiple times
// change one value to modify each variation
graphics.drawGraphicsData(drawing);
path.data[2] += 200;
graphics.drawGraphicsData(drawing);
path.data[2] -= 150;
graphics.drawGraphicsData(drawing);
path.data[2] += 100;
graphics.drawGraphicsData(drawing);
path.data[2] -= 50;graphicsS.drawGraphicsData(drawing);
Mimo że obiekty IGraphicsData mogą definiować style wypełnień i obrysów, nie jest to wymagane. Innymi słowy, do ustawiania stylów można używać metod klasy Graphics, a do rysowania zapisanego zbioru ścieżek — obiektów IGraphicsData, albo odwrotnie.
Uwaga:
Przed rozpoczęciem nowego rysunku należy wywołać metodę
Graphics.clear()
w celu wymazania poprzedniego, chyba że dodajemy do niego nowe elementy, tak jak w powyższym przykładzie. Po zmodyfikowaniu jednej części ścieżki lub zbioru obiektów IGraphicsData konieczne jest ponowne narysowanie całego rysunku, aby zmiany stały się widoczne.
W przypadku użycia klas danych graficznych wypełnienie jest renderowane za każdym razem, gdy rysowane są co najmniej trzy punkty, ponieważ oznacza to zamknięcie kształtu. Zamknięcie wypełnienia nie oznacza automatycznie zamknięcia kształtu; odróżnia to działanie omawianego mechanizmu od działania sekwencji osobno wywołanych poleceń
Graphics.lineTo()
lub
Graphics.moveTo()
.