Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   threshold поможет ли...? (http://www.flasher.ru/forum/showthread.php?t=130301)

lazutkin 23.09.2009 00:40

threshold поможет ли...?
 
Доброго Дня!

Не могу справиться с задачей, помогите пожалуйста:

1. Есть прозрачная BitmapData;
2. Делаю threshold, добавляю квадрат, например, получаю количество перекрашеных пикслелей. Допустим в прозрачной BitmapData появился черный квадрат.
3. Делаю такой же threshold, и не должно ничего перекрасится и функция вернет мне 0. Таким образом я знаю что тут уже были перекрашены пикселы, если нет то сколько докрасилось.
4. Не могу понять
- как же этот порог срабатывает?
- что значит mask(параметр функции threshold)
- как вообще работает - (pixelValue & mask)?

В общем не смог настроить так этот процесс... :(

Спасибо заранее!
Я ищу простой способ считать закрашиваемые пикселы(помимо квадратов нужно использовать круги), конечно в крайнем случае в ручную сделаю...

wvxvw 23.09.2009 01:10

Маска так называется потому, что действует так:
1 & 1 = 1
0 & 0 = 0
1 & 0 = 0
0 & 1 = 0
т. е. она "пропускает" только биты равные единице в маске и в маскируемом значении, "маскируя", т.е. обнуляя при этом несоответствующие биты. Я думаю, что правельнее было бы перевести как "трафарет", или "фильтр"...
Например, вы хотите замаскировать красный цвет, тогда маска должна быть такая:
0хFFFF т.как красный цвет это все значения от 0x10000 и до 0xFF0000. Т.е. если вы попробуете любое значение в пределах
[0x10000 ----> 0xFF0000] & 0хFFFF то получите 0, т.как в маскируемом цвете есть только красная компонента.
Но если в цвете есть, например, хоть 1 "зеленый" бит 0x10100, то маска вам его и оставит, убрав "красный" бит.

Единственное, я не понял вопроса как вы с помощью этой функции хотите что-то выяснить о закрашиваемой битмапдате - эта функция не сообщает что и на сколько перекрасилось...

lazutkin 23.09.2009 11:13

Спасибо большое за Ваш ответ, теперь я знаю как работает определение порога в threshold ... :)
То что я хотел узнать от threshold - это то что она возвращает количество перекрашенных пикселей, соответственно не нужно считать это вручную.


Часовой пояс GMT +4, время: 07:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.