![]() |
threshold поможет ли...?
Доброго Дня!
Не могу справиться с задачей, помогите пожалуйста: 1. Есть прозрачная BitmapData; 2. Делаю threshold, добавляю квадрат, например, получаю количество перекрашеных пикслелей. Допустим в прозрачной BitmapData появился черный квадрат. 3. Делаю такой же threshold, и не должно ничего перекрасится и функция вернет мне 0. Таким образом я знаю что тут уже были перекрашены пикселы, если нет то сколько докрасилось. 4. Не могу понять - как же этот порог срабатывает? - что значит mask(параметр функции threshold) - как вообще работает - (pixelValue & mask)? В общем не смог настроить так этот процесс... :( Спасибо заранее! Я ищу простой способ считать закрашиваемые пикселы(помимо квадратов нужно использовать круги), конечно в крайнем случае в ручную сделаю... |
Маска так называется потому, что действует так:
1 & 1 = 1 0 & 0 = 0 1 & 0 = 0 0 & 1 = 0 т. е. она "пропускает" только биты равные единице в маске и в маскируемом значении, "маскируя", т.е. обнуляя при этом несоответствующие биты. Я думаю, что правельнее было бы перевести как "трафарет", или "фильтр"... Например, вы хотите замаскировать красный цвет, тогда маска должна быть такая: 0хFFFF т.как красный цвет это все значения от 0x10000 и до 0xFF0000. Т.е. если вы попробуете любое значение в пределах [0x10000 ----> 0xFF0000] & 0хFFFF то получите 0, т.как в маскируемом цвете есть только красная компонента. Но если в цвете есть, например, хоть 1 "зеленый" бит 0x10100, то маска вам его и оставит, убрав "красный" бит. Единственное, я не понял вопроса как вы с помощью этой функции хотите что-то выяснить о закрашиваемой битмапдате - эта функция не сообщает что и на сколько перекрасилось... |
Спасибо большое за Ваш ответ, теперь я знаю как работает определение порога в threshold ... :)
То что я хотел узнать от threshold - это то что она возвращает количество перекрашенных пикселей, соответственно не нужно считать это вручную. |
| Часовой пояс GMT +4, время: 07:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.