Dopo aver ottenuto una raccolta di istanze IGraphicsData, utilizzate il metodo
drawGraphicsData()
della classe Graphics per eseguire il rendering della grafica. Il metodo
drawGraphicsData()
esegue un set di istruzioni di disegno da un vettore di istanze IGraphicsData in ordine sequenziale:
// 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);
La modifica di un unico valore nel tracciato usato dal disegno nell'esempio consente di ridisegnare la forma più volte per un'immagine più complessa:
// 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);
Gli stili di riempimento e di tratto, sebbene definibili tramite gli oggetti IGraphicsData, non sono un requisito. In altre parole, potete usare i metodi della classe Graphics per impostare gli stili e gli oggetti IGraphicsData per disegnare una raccolta salvata di tracciati, o viceversa.
Nota:
per cancellare un disegno precedente prima di iniziarne uno nuovo, usate il metodo
Graphics.clear()
, a meno che il disegno non venga aggiunto a quello originale, come illustrato nell'esempio precedente. Mentre modificate una singola parte di un tracciato o di una raccolta di oggetti IGraphicsData, ridisegnate l'intero disegno per vedere i cambiamenti.
Se si utilizzano classi di dati grafiche, il rendering del riempimento viene eseguito ogni volta che si disegnano tre o più punti, poiché la forma è intrinsecamente chiusa in quel punto. A differenza del riempimento, il tratto non si chiude e questo comportamento è diverso da quello che si ottiene quando si utilizzano più comandi
Graphics.lineTo()
o
Graphics.moveTo()
.