Методом научного тыка понял, за что отвечают элементы те, в которых 1, а даже научился обесцечивать, но неясен общий принцип работы матрицы, как она всё это высчитывает ?

Код AS1/AS2:
import flash.filters.BitmapFilter;
import flash.filters.ColorMatrixFilter;
var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]); // red
matrix = matrix.concat([0, 1, 0, 0, 0]); // green
matrix = matrix.concat([0, 0, 1, 0, 0]); // blue
matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
image.filters = new Array(filter);
Подсказка в хелпе особой ясности не внесла:
Цитата:
Используются следующие формулы, где [0] до [19] соответствуют записи от 0 до 19, в 20-матричного элемента собственности массива:
redResult = [0] * srcR + [1] * srcG + [2] * srcB + [3] * srcA + [4]
greenResult = [5] * srcR + [6] * srcG + [7] * srcB + [8] * srcA + [9]
blueResult = [10] * srcR + [11] * srcG + [12] * srcB + [13] * srcA + [14]
alphaResult = [15] * srcR + [16] * srcG + [17] * srcB + [18] * srcA + [19]
|