Как я могу сделать маску непрозрачности в Compact Framework? - PullRequest
2 голосов
/ 23 октября 2009

Я ищу способ сделать маску непрозрачности в Compact Framework?

Ответы [ 2 ]

2 голосов
/ 23 октября 2009

Вы можете свернуть свою собственную маску непрозрачности для растрового изображения, просто выполняя попиксельные манипуляции самостоятельно. Сверх медленный способ сделать это - использовать методы Bitmap GetPixel и SetPixel, но гораздо более быстрый способ - использовать метод LockBits. См:

http://www.bobpowell.net/lockingbits.htm

В зависимости от того, что именно вы делаете, устройства Windows Mobile обладают удивительной вычислительной мощностью для такого рода вещей. Итерация и обработка 76,800 пикселей растрового изображения 320x240 с использованием LockBits занимает всего несколько миллисекунд (конечно, в зависимости от того, насколько сложна «обработка»). Маскировка непрозрачности (предположительно) включает в себя только сравнение двух значений пикселей и, возможно, вычисление третьего, так что это не будет проблемой.

2 голосов
/ 23 октября 2009

Я не думаю, что CF-версия .Net вообще поддерживает непрозрачность. В этом тоже есть смысл. Расчет непрозрачности - очень дорогая операция, которая плохо подходит для устройств с недостаточным питанием.

Тем не менее, вот возможный обходной путь.

...