forked from: forked from: Color meter HP
forked from forked from: Color meter HP (diff: 22)
ActionScript3 source code
/**
* Copyright makc3d ( http://wonderfl.net/user/makc3d )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/yaQC
*/
// forked from Glidias's forked from: Color meter HP
// forked from Glidias's Color meter HP
package {
import flash.display.*;
public class ColorRampTest extends Sprite {
public function ColorRampTest() {
// write as3 code here..
var bmpData:BitmapData = new BitmapData(256,1, false,0);
var bmp:Bitmap = new Bitmap(bmpData);
bmp.scaleY = 32;
addChild(bmp);
for (var i:int=0; i< 256; i++) {
bmpData.setPixel(i,0, getColor( i/255 ) );
}
}
private var median:Number = .5;
private var medianInv:Number =1/median;
public function getColor(power:Number):uint {
// why don't we go back to trig...
var sin:Number = Math.sin (power * Math.PI);
var r_r:Number = 255, g_r:Number = 0;
var r_y:Number = 255, g_y:Number = 255;
var r_g:Number = 0, g_g:Number = 255;
var blue:Number = 0;
var k_left:Number = 1 - sin; if (power > 0.5) k_left = 0;
var k_right:Number = 1 - sin; if (power < 0.5) k_right = 0;
var green:Number = k_left * g_r + sin * g_y + k_right * g_g;
var red:Number = k_left * r_r + sin * r_y + k_right * r_g;
return (red << 16) | (green << 8) | blue;
}
}
}