⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colormatrix.as

📁 最为强大的个人版播客系统!专用的个人视频源码
💻 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 + -