Если вы используете Flash Player 10, вы можете использовать новые классы и методы в новом API рисования:
GraphicsBitmapFill
GraphicsEndFill
GraphicsGradientFill
GraphicsPath
GraphicsPathCommand
GraphicsPathWinding
GraphicsShaderFill
GraphicsSolidFill
GraphicsStroke
вы можете использовать их для хранения данных для сгенерированных пользователем чертежей, затем используйте метод drawGraphicsData () , чтобы «восстановить» чертеж из набора сохраненных команд.
Вот пример из документации:
package{
import flash.display.*;
import flash.geom.*;
public class DrawGraphicsDataExample extends Sprite {
public function DrawGraphicsDataExample(){
// establish the fill properties
var myFill:GraphicsGradientFill = new GraphicsGradientFill();
myFill.colors = [0xEEFFEE, 0x0000FF];
myFill.matrix = new Matrix();
myFill.matrix.createGradientBox(100, 100, 0);
// establish the stroke properties
var myStroke:GraphicsStroke = new GraphicsStroke(2);
myStroke.fill = new GraphicsSolidFill(0x000000);
// establish the path properties
var myPath:GraphicsPath = new GraphicsPath(new Vector.<int>(), new Vector.<Number>());
myPath.commands.push(1,2,2,2,2);
myPath.data.push(10,10, 10,100, 100,100, 100,10, 10,10);
// populate the IGraphicsData Vector array
var myDrawing:Vector.<IGraphicsData> = new Vector.<IGraphicsData>();
myDrawing.push(myFill, myStroke, myPath);
// render the drawing
graphics.drawGraphicsData(myDrawing);
}
}
}
У Senocular есть длинная, но хорошо объясненная статья по API рисования Flash 10 .
НТН,
George