Chapter 37 Example 12 actionscript.. forked:0favorite:2lines:59license : MIT License modified : 2010-02-09 16:32:31 Embed Tweet package { import flash.display.Sprite; import flash.filters.ConvolutionFilter; public class ch37ex12 extends Sprite { function ch37ex12() { var a:TestImage = new TestImage(0.5, 0, 0); var b:TestImage = new TestImage(0.5, 250, 0); var c:TestImage = new TestImage(0.5, 0, 167); var d:TestImage = new TestImage(0.5, 250, 167); addChild(a); addChild(b); addChild(c); addChild(d); var aMat:Array = [0, 1, 0, 1, -4, 1, 0, 1, 0]; //edge detect a.filters = [new ConvolutionFilter(3, 3, aMat)]; var bMat:Array = [ 0, -1, 0, -1, 5, -1, 0, -1, 0]; //sharpen b.filters = [new ConvolutionFilter(3, 3, bMat)]; var cMat:Array = [1, 1, 1, 1, 1, 1, 1, 1, 1]; //blur c.filters = [new ConvolutionFilter(3, 3, cMat, 9)]; var dMat:Array = [-2, -1, 0, -1, 1, 1, 0, 1, 2]; //emboss d.filters = [new ConvolutionFilter(3, 3, dMat)]; } } } import flash.display.Loader; import flash.net.URLRequest; import flash.system.LoaderContext; import flash.events.MouseEvent; import flash.geom.Point; class TestImage extends Loader { protected var scale:Number; protected var origin:Point; public function TestImage(scale:Number = 1, x:Number = 0, y:Number = 0) { //photo (CC-BY) Roger Braunstein //source http://www.flickr.com/photos/rogerimp/2940373537/ var url:String = "http://actionscriptbible.com/files/heiwadoori.jpg"; load(new URLRequest(url), new LoaderContext(true)); this.scale = scale; this.origin = new Point(x, y); addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); addEventListener(MouseEvent.MOUSE_UP, onMouseUp); onMouseUp(null); } protected function onMouseDown(event:MouseEvent):void { parent.setChildIndex(this, parent.numChildren-1); scaleX = scaleY = 1; x = y = 0; } protected function onMouseUp(event:MouseEvent):void { scaleX = scaleY = scale; x = origin.x; y = origin.y; } } Code Fullscreen Preview Fullscreen teageek nicoptere : convolutionconvolution as3bible blur convolution detect edge emboss filter filters sharpen ConvolutionFilter scaleY scaleX setChildIndex addChild numChildren filters LoaderContext addEventListener url MouseEvent MouseEvent.MOUSE_UP MouseEvent.MOUSE_DOWN load URLRequest Loader Point Array String Number