【actionscript】用位图填充形状

Category : Web Devolop / Tags : / Date : 2008.07.20 / 1,837 views

出现的问题:想用图片对形状进行填充。

解决的办法使用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