📄 colormatrix.as
字号:
//Created by Action Script Viewer - http://www.buraks.com/asv
class com.fivesix.ColorMatrix
{
var matrix;
function ColorMatrix (mat) {
if (mat instanceof com.fivesix.ColorMatrix) {
matrix = mat.matrix.concat();
} else if (mat instanceof Array) {
matrix = mat.concat();
} else {
reset();
}
}
function reset() {
matrix = IDENTITY.concat();
}
function clone() {
return (new com.fivesix.ColorMatrix(matrix));
}
function adjustSaturation(s) {
var _local2 = 1 - s;
var _local5 = _local2 * r_lum;
var _local3 = _local2 * g_lum;
var _local4 = _local2 * b_lum;
var _local7 = Array(_local5 + s, _local3, _local4, 0, 0, _local5, _local3 + s, _local4, 0, 0, _local5, _local3, _local4 + s, 0, 0, 0, 0, 0, 1, 0);
this.concat(_local7);
}
function adjustContrast(r, g, b) {
g = g || (r);
b = b || (r);
r = r + 1;
g = g + 1;
b = b + 1;
var _local5 = Array(r, 0, 0, 0, 128 * (1 - r), 0, g, 0, 0, 128 * (1 - g), 0, 0, b, 0, 128 * (1 - b), 0, 0, 0, 1, 0);
this.concat(_local5);
}
function adjustBrightness(r, g, b) {
g = g || (r);
b = b || (r);
var _local4 = Array(1, 0, 0, 0, r, 0, 1, 0, 0, g, 0, 0, 1, 0, b, 0, 0, 0, 1, 0);
this.concat(_local4);
}
function adjustHue(angle) {
angle = angle * (Math.PI/180);
var _local2 = Math.cos(angle);
var _local3 = Math.sin(angle);
var _local6 = 0.213;
var _local5 = 0.715;
var _local4 = 0.072;
var _local8 = Array((_local6 + (_local2 * (1 - _local6))) + (_local3 * (-_local6)), (_local5 + (_local2 * (-_local5))) + (_local3 * (-_local5)), (_local4 + (_local2 * (-_local4))) + (_local3 * (1 - _local4)), 0, 0, (_local6 + (_local2 * (-_local6))) + (_local3 * 0.143), (_local5 + (_local2 * (1 - _local5))) + (_local3 * 0.14), (_local4 + (_local2 * (-_local4))) + (_local3 * -0.283), 0, 0, (_local6 + (_local2 * (-_local6))) + (_local3 * (-(1 - _local6))), (_local5 + (_local2 * (-_local5))) + (_local3 * _local5), (_local4 + (_local2 * (1 - _local4))) + (_local3 * _local4), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1);
this.concat(_local8);
}
function colorize(rgb, amount) {
var _local4 = ((rgb >> 16) & 255) / 255;
var _local6 = ((rgb >> 8) & 255) / 255;
var _local3 = (rgb & 255) / 255;
if (amount == null) {
amount = 1;
}
var _local5 = 1 - amount;
var _local8 = Array(_local5 + ((amount * _local4) * r_lum), (amount * _local4) * g_lum, (amount * _local4) * b_lum, 0, 0, (amount * _local6) * r_lum, _local5 + ((amount * _local6) * g_lum), (amount * _local6) * b_lum, 0, 0, (amount * _local3) * r_lum, (amount * _local3) * g_lum, _local5 + ((amount * _local3) * b_lum), 0, 0, 0, 0, 0, 1, 0);
this.concat(_local8);
}
function setAlpha(alpha) {
var _local2 = Array(1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, alpha, 0);
this.concat(_local2);
}
function desaturate() {
var _local2 = Array(r_lum, g_lum, b_lum, 0, 0, r_lum, g_lum, b_lum, 0, 0, r_lum, g_lum, b_lum, 0, 0, 0, 0, 0, 1, 0);
this.concat(_local2);
}
function invert() {
var _local2 = Array(-1, 0, 0, 0, 255, 0, -1, 0, 0, 255, 0, 0, -1, 0, 255, 0, 0, 0, 1, 0);
this.concat(_local2);
}
function threshold(t) {
var _local3 = Array(r_lum * 256, g_lum * 256, b_lum * 256, 0, -256 * t, r_lum * 256, g_lum * 256, b_lum * 256, 0, -256 * t, r_lum * 256, g_lum * 256, b_lum * 256, 0, -256 * t, 0, 0, 0, 1, 0);
this.concat(_local3);
}
function randomize(amount) {
if (amount == null) {
amount = 1;
}
var _local3 = 1 - amount;
var _local10 = _local3 + (amount * (Math.random() - Math.random()));
var _local15 = amount * (Math.random() - Math.random());
var _local12 = amount * (Math.random() - Math.random());
var _local6 = (amount * 255) * (Math.random() - Math.random());
var _local8 = amount * (Math.random() - Math.random());
var _local14 = _local3 + (amount * (Math.random() - Math.random()));
var _local11 = amount * (Math.random() - Math.random());
var _local5 = (amount * 255) * (Math.random() - Math.random());
var _local7 = amount * (Math.random() - Math.random());
var _local13 = amount * (Math.random() - Math.random());
var _local9 = _local3 + (amount * (Math.random() - Math.random()));
var _local4 = (amount * 255) * (Math.random() - Math.random());
var _local16 = Array(_local10, _local15, _local12, 0, _local6, _local8, _local14, _local11, 0, _local5, _local7, _local13, _local9, 0, _local4, 0, 0, 0, 1, 0);
this.concat(_local16);
}
function setChannels(r, g, b, a) {
var _local3 = (((((r & 1) == 1) ? 1 : 0) + (((r & 2) == 2) ? 1 : 0)) + (((r & 4) == 4) ? 1 : 0)) + (((r & 8) == 8) ? 1 : 0);
if (_local3 > 0) {
_local3 = 1 / _local3;
}
var _local2 = (((((g & 1) == 1) ? 1 : 0) + (((g & 2) == 2) ? 1 : 0)) + (((g & 4) == 4) ? 1 : 0)) + (((g & 8) == 8) ? 1 : 0);
if (_local2 > 0) {
_local2 = 1 / _local2;
}
var _local4 = (((((b & 1) == 1) ? 1 : 0) + (((b & 2) == 2) ? 1 : 0)) + (((b & 4) == 4) ? 1 : 0)) + (((b & 8) == 8) ? 1 : 0);
if (_local4 > 0) {
_local4 = 1 / _local4;
}
var _local5 = (((((a & 1) == 1) ? 1 : 0) + (((a & 2) == 2) ? 1 : 0)) + (((a & 4) == 4) ? 1 : 0)) + (((a & 8) == 8) ? 1 : 0);
if (_local5 > 0) {
_local5 = 1 / _local5;
}
var _local10 = Array((((r & 1) == 1) ? (_local3) : 0), (((r & 2) == 2) ? (_local3) : 0), (((r & 4) == 4) ? (_local3) : 0), (((r & 8) == 8) ? (_local3) : 0), 0, (((g & 1) == 1) ? (_local2) : 0), (((g & 2) == 2) ? (_local2) : 0), (((g & 4) == 4) ? (_local2) : 0), (((g & 8) == 8) ? (_local2) : 0), 0, (((b & 1) == 1) ? (_local4) : 0), (((b & 2) == 2) ? (_local4) : 0), (((b & 4) == 4) ? (_local4) : 0), (((b & 8) == 8) ? (_local4) : 0), 0, (((a & 1) == 1) ? (_local5) : 0), (((a & 2) == 2) ? (_local5) : 0), (((a & 4) == 4) ? (_local5) : 0), (((a & 8) == 8) ? (_local5) : 0), 0);
this.concat(_local10);
}
function blend(m, amount) {
var _local3 = 1 - amount;
var _local2 = 0;
while (_local2 < 20) {
matrix[_local2] = (_local3 * matrix[_local2]) + (amount * m.matrix[_local2]);
_local2++;
}
}
function concat(mat) {
var _local6 = Array();
var _local3 = 0;
var _local5 = 0;
while (_local5 < 4) {
var _local2 = 0;
while (_local2 < 5) {
_local6[_local3 + _local2] = ((((mat[_local3] * matrix[_local2]) + (mat[_local3 + 1] * matrix[_local2 + 5])) + (mat[_local3 + 2] * matrix[_local2 + 10])) + (mat[_local3 + 3] * matrix[_local2 + 15])) + ((_local2 == 4) ? (mat[_local3 + 4]) : 0);
_local2++;
}
_local3 = _local3 + 5;
_local5++;
}
matrix = _local6;
}
function get filter() {
return (new flash.filters.ColorMatrixFilter(matrix));
}
static var r_lum = 0.212671;
static var g_lum = 0.71516;
static var b_lum = 0.072169;
static var IDENTITY = Array(1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -