出现的问题:想用图片对形状进行填充。
解决的办法:使用Graphics.beginBitmapFill()方法。
正文:
Graphics.beginBitmapFill()方法可以让位图作为形状填充。它有以下参数
bitmap: 作为位图填充的BitmapData对象。
matrix: 默认情况下,应用位图时,不做转换。
repeat: 布尔值,指出位图是否应该重复以拼接填充。默认是true。
smooth: 布尔值,指出当位图缩放100%时,是否应用平滑机制。默认为false。
贴个实例供参考:
package com.sweetwater{ 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 URLReuqest("<a href="http://localhost/sweetwater/image/1.jpg">http://localhost/sweetwater/image/1.jpg</a>")); _loader.contentLoaderInfo.addEventListener(Event.COMPELETE,onImgLoad); } private function onImgLoad(event:Event):void{ var bitmap:BitmapData = new BitmapData(_loader.width,_loader.height); bitmap.draw(_loader, 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); } } }
Comments
There are no comments.
Leave a Reply