![]() |
mikleb, запятые придумали, чтобы они облегчали читать текст, а не для того, чтобы их пропускать.
О логике blendMode. |
как????
|
Цитата:
Вот код Код:
Map1 - результат сравнения h,h1,h2 - вспомогательные мапы. |
mikleb, надо использовать кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif, а не создавать несколько сообщений подряд.
|
mikleb спасибо! ваш способ наиболее быстрый!
|
Цитата:
Но только тут 24битные числа, для 32 битных будет раза в два тормазнее потому что subtract не вычитает альфу, и придется дополнительно получить маски для > и >= альфы. |
да нет все нормально мне хватает 24 битных!
Вот тока не мог бы ты объяснить что это за метод такой ? Как он работает? |
Цитата:
Сперва я получил 3 маски: R от второй > чем R от первой картинки, и тоже самое для G и B, эти три маски удобно хранить в одной картинке. (там где > будет 255 а где <= будет 0). Это легко реализовать с помошью blendmode subtract. Т.е вычтаем из второй картинки первую там где вторая > будет не ноль. Ну а потом с помощью палитры все не нулевые числа(компоненты цвета) переводим в 255. Эти три маски хранятся в h1. Еще нужно получить такие же маски но только для >=. Ясно что >= это отрицание к <, поэтому делаю тоже самое только картинки меняю местами, ну и палитра инверснутая (там где было 255 делаю 0 там где было 0 делаю 255). Это будет h2. Пусть теперь надо сравнить картинки только по GB. G2B2 > G1B1 Если: G2 > G1 или G1 = G2 и B2>B1 это эквивалентно G2 > G1 или G2 >= G1 и B2>B1 Получается чтобы получить маску где GB от второй картинки больше GB от первой нужно объединить маску где G2>G1 c маской где G2>=G1 и B2>B1. Вторая маска (где G2>=G1 и B2>B1) это пересечение маски G2>=G1 и маски B2>B1. Объединение масок делается с помощью blendmode lighten (максимум) Пересечение масок делается с помощью blendmode darken (минимум). Ну вот т.е сперва перевожу маску B2>B1 в G компоненту ( c помощью copychannel) потом беру darken с маской G2>=G1 а потом беру lighten с маской где G2>G1. Дальше аналогично. |
Да оригинальный способ! Спасибо за объяснение!
|
Вобщем можно намного проще сделать, и будет быстре чем в лоб в 7-8 раз:).
|
| Часовой пояс GMT +4, время: 12:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.