Регионы, регионы, регионы...

UE 23.05.2004 - 00:32 | Товарищи! Возникла следующая задача. Есть некий контрол, отображающий анимацию. Требуется, чтобы в областях этого контрола, пиксели которых белые, были выброшены из региона этого окошка. Все вроде бы ясно: субклассинг и т.д. Но две вещи меня волнуют, т.к. контрол часто ;) перерисовыается: 1. Как быстро организовать получение требуемого региона? Т.е я буду получать битмап, из которого мне надо как можно быстрее получить регион, в который входят только небелые точки. 2. Не дорогая ли времени операция SetWindowRgn? Ведь мне при каждой перерисовке придется менять регион. Всем заранее спасибо!
archimag 1 - 23.05.2004 - 12:37 | Не пойму, зачем выбрасывать из контрола белые точки? не фон же ты таким образом хочешь менять? Да и какого размера битмап? По моему, не очень хорошая идея... Проверить быстродействие SetWindowRgn можно просто, сделай, что хочешь, но без битмапа, а просто изменяй регион. Всё станет ясно...
x77 2 - 23.05.2004 - 18:01 | не совсем в тему, но вдруг пригодится кому.... http://club.shelek.com/viewart.php?id=98
x77 3 - 23.05.2004 - 18:29 | UE, для сложных регионов, полученных по маске из битмапа, перерисовка очень долгая. на порядки дольше, чем для обычных прямоугольников и даже кругов, т.е. просто двигая такую форму по экрану иы будешт видуально видеть, как она оставляет за собой "инверсионный след". . если когда ставил, например, фаргусовские игрущки, обрати внимание, как тормозит перерисовка формы, вызываемой в их autorun.
x77 4 - 23.05.2004 - 22:59 | я бы задачу свёл к тому, чтобы получать регион, в который н е в х о д я т некоторые точки. и юзал Bitmap.TransparentColor.

>>