Tuesday, March 24, 2009

Creating Bitmap Filters in ActionScript

Simple application to create Bitmap filters using actionscript.

package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.BevelFilter;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;

public class FilterExamples extends Sprite
{
private var bgColor:uint = 0xFFCC00;
       private var size:uint    = 80;
       private var offset:uint  = 50;
        private var sp:Sprite = new Sprite();
/*  */
public function FilterExamples()
{
draw();
sp.addEventListener(MouseEvent.ROLL_OVER, showGlow);
addChild(sp);
}
/*  */
private function draw():void
{
sp.graphics.beginFill(bgColor);
sp.graphics.drawRect(offset,offset,size,size);
sp.graphics.endFill();
}
/*  */
private function getBitmapFilter():BitmapFilter
{
            var distance:Number       = 5;
            var angleInDegrees:Number = 45;
            var highlightColor:Number = 0xFFFF00;
            var highlightAlpha:Number = 0.8;
            var shadowColor:Number    = 0x0000FF;
            var shadowAlpha:Number    = 0.8;
            var blurX:Number          = 5;
            var blurY:Number          = 5;
            var strength:Number       = 5;
            var quality:Number        = BitmapFilterQuality.HIGH;
            var type:String           = BitmapFilterType.INNER;
            var knockout:Boolean      = false;

            return new BevelFilter(distance, angleInDegrees, highlightColor,
                                   highlightAlpha, shadowColor, shadowAlpha,
                                   blurX, blurY, strength,
                                   quality, type, knockout);
}
/*  */
private function showGlow(event:MouseEvent):void
{
//graphics.clear();
//draw();
var filter:BitmapFilter = getBitmapFilter();
var myFilter:Array = [];
myFilter.push(filter);
sp.filters = myFilter;
sp.addEventListener(MouseEvent.ROLL_OUT, onRollout);
}
/*  */
private function onRollout(event:MouseEvent):void
{
sp.filters = null;
}
}
}

No comments:

Post a Comment