![]() |
|
||||||||||
|
|||||
|
Внесу небольшие поправки, может кому-то пригодится
Цитата:
Наткнулся на сайт: http://www.microsoft.com/Rus/Msdn/Ac.../Data/439.mspx Оттуда видно что в grayscale цвет расчитывается как GrayScale = (77 * R + 150 * G + 28 * B)/ 255 То есть матрица должна принять такой вид: matrix = matrix.concat([77/255, 150/255, 25/255, 0, 0]); matrix = matrix.concat([77/255, 150/255, 25/255, 0, 0]); matrix = matrix.concat([77/255, 150/255, 25/255, 0, 0]); matrix = matrix.concat([0, 0, 0, 1, 0]); Вот код, может кому пригодится: private function MakeGray() {
var matrix:Array = new Array();
var r = 77/255;
var g = 150/255;
var b = 25/255;
matrix = matrix.concat([r*zerokoef+1-zerokoef, g*zerokoef, b*zerokoef, 0, 0]);
matrix = matrix.concat([r*zerokoef, g*zerokoef+1-zerokoef, b*zerokoef, 0, 0]);
matrix = matrix.concat([r*zerokoef, g*zerokoef, b*zerokoef+1-zerokoef, 0, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
this.filters = new Array(filter);
}
Если 1 - изображение grayscale. Чем ближе к 0 - тем оно "цветнее".
__________________
while(1) {} Последний раз редактировалось Division; 07.08.2008 в 00:32. |
![]() |
Часовой пояс GMT +4, время: 06:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|