topical media & game development

talk show tell print

actionscript-video-09-filters-main.ax

actionscript-video-09-filters-main.ax [swf] flex


  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 @ax-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 @ax-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;
                      }
                      
                  }
      }
  }
  


(C) Æliens 27/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.