package { import flash.display.Sprite; import flash.net.NetConnection; import flash.net.NetStream; import flash.media.Video; import flash.display.MovieClip; import flash.events.Event; //import pro.VideoMC; //import fl.controls.RadioButtonGroup; //import fl.controls.RadioButton; import mx.controls.RadioButtonGroup; import mx.controls.RadioButton; import flash.events.MouseEvent; import flash.filters.BlurFilter; import flash.filters.DropShadowFilter; import flash.filters.ColorMatrixFilter; import flash.geom.ColorTransform; import flash.geom.Transform; public class actionscript_video_09_filters_main extends Sprite { var video_mc:actionscript_video_09_filters_pro_VideoMC = new actionscript_video_09_filters_pro_VideoMC; var myRadioGroup:RadioButtonGroup = new RadioButtonGroup(); var colorTransform_btn:RadioButton = new RadioButton(); var blur_btn:RadioButton = new RadioButton(); var colorMatrix_btn:RadioButton = new RadioButton(); var dropShadow_btn:RadioButton = new RadioButton(); public function actionscript_video_09_filters_main() { //var myRadioGroup:RadioButtonGroup = new RadioButtonGroup("rbg"); /* var myRadioGroup:RadioButtonGroup = new RadioButtonGroup(); var colorTransform_btn:RadioButton = new RadioButton(); var blur_btn:RadioButton = new RadioButton(); var colorMatrix_btn:RadioButton = new RadioButton(); var dropShadow_btn:RadioButton = new RadioButton(); */ myRadioGroup.addEventListener(Event.CHANGE, changeHandler); addChild(video_mc); } private function resetFilters() : void { vidColorTransform(1,1,1,1,1,1,1,1); var CMmatrix:Array = new Array(); CMmatrix = []; vidColorMatrix(CMmatrix); vidDropShadow(0,0,0,0,0,0,0,0); vidBlur(0,0,0); } private function vidBlur(x:Number,y:Number,quality:Number) : void { var myFilter:BlurFilter = new BlurFilter(x,y,quality); var myFilterArray:Array = new Array(); myFilterArray.push(myFilter); video_mc.filters = myFilterArray; } private function vidColorTransform(ax:Number,ao:Number,blue:Number,green:Number,greeno:Number,red:Number,redo:Number,rgb:Number) : void { var trans:Transform = new Transform(video_mc); var colorTrans:ColorTransform = new ColorTransform(ax,ao,blue,green,greeno,red,redo,rgb); trans.colorTransform = colorTrans; } private function vidColorMatrix(CMmatrix:Array) : void { var myCMFilter:ColorMatrixFilter = new ColorMatrixFilter(CMmatrix); var myCMArray:Array = new Array(); myCMArray.push(myCMFilter); video_mc.filters = myCMArray; } private function vidDropShadow(distance:Number,angle:Number,color:Number,alpha:Number,blurX:Number,blurY:Number,strength:Number,quality:Number) : void { var myDSFilter:DropShadowFilter = new DropShadowFilter(distance,angle,color,alpha,blurX,blurY,strength,quality); var myDSFilterArray:Array = new Array(); myDSFilterArray.push(myDSFilter); video_mc.filters = myDSFilterArray; } private function blurHandler() { resetFilters(); vidBlur(20,0,5); } private function colorTransformHandler() { resetFilters(); vidColorTransform(1,1,1,1,0,0,255,0); } private function colorMatrixHandler() : void { resetFilters(); var CMmatrix:Array = new Array(); CMmatrix = CMmatrix.concat([0, 0, 0, 3, 3]); // red CMmatrix = CMmatrix.concat([1, 1, 0, 0, 1]); // green CMmatrix = CMmatrix.concat([1, 1, 0, 0, 0]); // blue CMmatrix = CMmatrix.concat([0, 0, 0, .7, .2]); // alpha vidColorMatrix(CMmatrix); } private function dropShadowHandler() : void { resetFilters(); vidDropShadow(4,45,0x777777,30,5,5,1,2); } private function changeHandler(event:Event):void { var rbg:RadioButtonGroup = event.target as RadioButtonGroup; switch (rbg.selection) { case colorTransform_btn: trace("colorTransform"); colorTransformHandler(); break; case colorMatrix_btn: trace("colorMatrix"); colorMatrixHandler(); break; case blur_btn: trace("blur"); blurHandler(); break; case dropShadow_btn: trace("dropShadow"); dropShadowHandler(); break; } } } }