Forked from: esukei's HighSpeed Dog RGB Separator diff:73 forked from: HighSpeed Dog RGB Separator siaukia forked:0favorite:0lines:60license : MIT License modified : 2009-07-23 16:20:07 Embed Tweet // forked from esukei's HighSpeed Dog RGB Separator // forked from yanbaka's Dog RGB Separator // forked from clockmaker's RGB Separater package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BitmapDataChannel; import flash.display.BlendMode; import flash.display.Loader; import flash.system.LoaderContext; import flash.display.Shape; import flash.display.Sprite; import flash.events.Event; import flash.geom.Point; import flash.net.URLRequest; import flash.system.Security; import org.papervision3d.view.BasicView; import org.papervision3d.cameras.CameraType; import org.papervision3d.scenes.Scene3D; import org.papervision3d.core.proto.CameraObject3D; public class RGBSeparator extends Sprite { private const WIDTH:Number = stage.stageWidth; private const HEIGHT:Number = stage.stageHeight; private const IMG_PATH:String = "http://www.manmeng.net/blog/wp-content/uploads/2009/06/lomo-418x418.jpg"; private var bmps:Array = []; private var speeds:Array = []; private var flg:Boolean = false; public function RGBSeparator() { Security.loadPolicyFile("http://5ivestar.org/proxy/crossdomain.xml"); var dx:Number = WIDTH - WIDTH/2; var dy:Number = HEIGHT - HEIGHT/2; // doing other things now // will come back and finish it later :) loadImage(); } private function loadImage():void { var context:LoaderContext = new LoaderContext(true); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.load(new URLRequest("http://5ivestar.org/proxy/"+IMG_PATH),context); } private function onComplete(e:Event):void { var loader:Loader = Loader(e.target.loader); var rgb:Array = createRGB(Bitmap(loader.content)); addChild(rgb[0]) addChild(rgb[1]) addChild(rgb[2]) } private function createRGB(bmp:Bitmap):Array { var r:BitmapData = new BitmapData(bmp.width, bmp.height, true, 0xFF000000); var g:BitmapData = new BitmapData(bmp.width, bmp.height, true, 0xFF000000); var b:BitmapData = new BitmapData(bmp.width, bmp.height, true, 0xFF000000); r.copyChannel(bmp.bitmapData, bmp.bitmapData.rect, new Point(), BitmapDataChannel.RED, BitmapDataChannel.RED); g.copyChannel(bmp.bitmapData, bmp.bitmapData.rect, new Point(), BitmapDataChannel.GREEN, BitmapDataChannel.GREEN); b.copyChannel(bmp.bitmapData, bmp.bitmapData.rect, new Point(), BitmapDataChannel.BLUE, BitmapDataChannel.BLUE); return [r, g, b]; } } } Code Fullscreen Preview Fullscreen height width addChild Event.COMPLETE Point addEventListener URLRequest Array String Event Sprite Number