// example for as3, which is similar to early android import flash.display.MovieClip; // standard luminance values var lumR:Number = 0.2125; var lumG:Number = 0.7154; var lumB:Number = 0.0721; //var lumR:Number = 0.3086; //var lumG:Number = 0.6094; //var lumB:Number = 0.0820; var color1:Array = [90.0/255.0, 170.0/255.0, 251.0/255.0]; var color2:Array = [5.0/255.0, 57.0/255.0, 109.0/255.0]; //var color1:Array = [247.0/255.0, 238.0/255.0, 87.0/255.0]; //var color2:Array = [182.0/255.0, 14.0/255.0, 77.0/255.0]; // get difference of colors var rDif = color1[0] - color2[0]; var gDif = color1[1] - color2[1]; var bDif = color1[2] - color2[2]; // movieclip on stage named "pic" var pic:MovieClip = getChildByName("pic") as MovieClip; // converts image to grayscale based on luminance value var lumMat:Array = new Array(); lumMat=lumMat.concat([lumR, lumG, lumB, 0, 0]); lumMat=lumMat.concat([lumR, lumG, lumB, 0, 0]); lumMat=lumMat.concat([lumR, lumG, lumB, 0, 0]); lumMat=lumMat.concat([0, 0, 0, 1, 0]); // matrix to multiply value diff by color diff var colorMat:Array = new Array(); colorMat=colorMat.concat([rDif, 0, 0, 0, color2[0] * 255 ]); colorMat=colorMat.concat([0, gDif, 0, 0, color2[1] * 255 ]); colorMat=colorMat.concat([0, 0, bDif, 0, color2[2] * 255 ]); colorMat=colorMat.concat([0, 0, 0, 1, 0]); var lum = new ColorMatrixFilter(lumMat); var mat = new ColorMatrixFilter(colorMat); // apply the filters pic.filters = [lum, mat];