Показать сообщение отдельно
Старый 08.12.2007, 01:26
Molecula вне форума Посмотреть профиль Отправить личное сообщение для Molecula Найти все сообщения от Molecula
  № 5  
Ответить с цитированием
Molecula
 
Аватар для Molecula

Регистрация: Apr 2007
Сообщений: 1,369
Код:
var _j=0;
while(_j<256)
{
_red= _bmp.threshold(_bmp, new Rectangle(0, 0, _bmp.width, _bmp._height), new Point(0, 0), ">", 16777216-65536*_j, 0xFF0000, 0xFF0000, false);//red
_green= _bmp.threshold(_bmp, new Rectangle(0, 0, _bmp.width, _bmp.height), new Point(0, 0), ">", 65536-255*_j, 0x00FF00, 0x00FF00, false);//green
_blue= _bmp.threshold(_bmp, new Rectangle(0, 0, _bmp.width, _bmp.height), new Point(0, 0), ">", 255-_j, 0x0000FF, 0x0000FF, false);//blue
_j++;
}
Returns
Number - The number of pixels that were changed.

Итого, мы получаем, сколько у нас Красных, Зеленных, Синих пикселей.
Так, можно построить гистограмму, как в Фотопопе.

Никаких онЕнтерФреймов!
Тут всего лишь 255 операций. Конечно, чем больше битмапдата, тем дольше вычисления.

Для черно-белого изображения, всё гораздо проще.
Вообще такие вещи, конечно лучше делать примерно, как тут - http://sephiroth.it/tutorials/flashP...php_bytearray/


Последний раз редактировалось Molecula; 08.12.2007 в 02:43.