Wanneer u een verzameling IGraphicsData-instanties hebt, gebruikt u de
drawGraphicsData()
-methode van de Graphics-klasse om de afbeeldingen te renderen. De
drawGraphicsData()
-methode voert een set met tekeninstructies in sequentiële volgorde uit vanaf een vector van IGraphicsData-instanties:
// 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);
Door één waarde te wijzigen in het pad dat door de tekening in het voorbeeld wordt gebruikt, kan de vorm meerdere keren opnieuw worden getekend om een complexere afbeelding te verkrijgen:
// 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);
Ondanks het feit dat IGraphicsData-objecten vul- en streekstijlen kunnen definiëren, zijn de vul- en streekstijlen geen vereiste. Met andere woorden, methoden van de klasse Graphics kunnen worden gebruikt om stijlen in te stellen, terwijl IGraphicsData-objecten kunnen worden gebruikt om een opgeslagen verzameling paden te tekenen, of omgekeerd.
Opmerking:
Gebruik de methode
Graphics.clear()
om een vorige tekening te wissen voordat u een nieuwe maakt, tenzij u de oorspronkelijke tekening wilt uitbreiden, zoals in het voorbeeld hierboven. Terwijl u één gedeelte van een pad of verzameling van IGraphicsData-objecten wijzigt, kunt u de hele tekening opnieuw tekenen om de wijzigingen te zien.
Wanneer u grafische gegevensklassen gebruikt, wordt de vulling gerenderd wanneer drie of meer punten worden getekend, aangezien de vorm zich inherent op dat punt sluit. De vulling wordt gesloten, maar de streek niet. Dit gedrag is anders wanneer meerdere
Graphics.lineTo()
- of
Graphics.moveTo()
-opdrachten worden gebruikt.