ProblemYou want to apply a bitmap fill to a shape. SolutionUse the Graphics.beginBitmapFill( ) method. DiscussionThe Graphics.beginBitmapFill( ) method enables you to apply a bitmap as a fill to a shape. The method accepts the following parameters:
The following sample class loads a bitmap from a URL, copies it to a BitmapData object, and uses that BitmapData object as a fill for circles drawn programmatically: package { import flash.display.Sprite; import flash.geom.Matrix; import flash.display.Loader; import flash.net.URLRequest; import flash.display.BitmapData; import flash.events.Event; public class Drawing extends Sprite { private var _loader:Loader; public function Drawing( ) { _loader = new Loader( ); _loader.load(new URLRequest("http://www.rightactionscript.com/samplefiles/image2.jpg")); _loader.contentLoaderInfo.addEventListener(Event.COMPELTE, onImageLoad); } private function onImageLoad(event:Event):void { var bitmap:BitmapData = new BitmapData(_loader.width, _loader.height); bitmap.draw(_loader, new Matrix( )); var matrix:Matrix = new Matrix( ); matrix.scale(.1, .1); var sampleSprite:Sprite = new Sprite( ); sampleSprite.graphics.lineStyle( ); sampleSprite.graphics.beginBitmapFill(bitmap, matrix); sampleSprite.graphics.drawCircle(100, 100, 100); sampleSprite.graphics.endFill( ); addChild(sampleSprite); } } } |