Re[3]: Как сделать Регион из Bitmap с прозрачными обл. ?
От: Alex Fedotov США  
Дата: 11.03.02 19:49
Оценка:
Здравствуйте BugMan, Вы писали:

AF>>Никак. С картинкой это работать не будет. В документации к BeginPath на MSDN перечислены функции, которые можно использовать внутри BeginPath/EndPath. Blt-функций там нет ни одной.


AF>>Поставленная задача решается тупым (или не очень) сканированием битов изображения. На VB это может получиться долго.


BM>1) А можно поточнее на счет сканирования битов ? Что значит "сканирование" в принципе ?


Это значит, что ты идешь по всем пикселям изображения и, если пиксель прозрачный, добавляешь его в регион, иначе — пропускаешь. Насчет оптимальности представления региона можно не беспокоиться, поскольку Windows все равно его оптимизирует как надо, объединив смежные пиксели. Единственная проблема, которая может возникнуть — генерация региона таким способом может оказаться достаточно долгой. Тут можно по разному оптимизировать: например, добавлять не отдельные пиксели, а целые горизонтальные отрезки высотой в 1 пиксел.

BM>2) А что если попробовать сделать саму форму прозрачной — это можно как-нить ? , а на нее уже наложить битмап .......


BM>Задача то вобщем-то стоит просто — Сделать симпатичный SplashScreen — всего-то Я чесно говоря думал что под это кже были стандартные решения


В Win2K and later это действительно делается как два байта переслать с помощью layered windows (см. WS_EX_LAYERED, SetLayeredWindowAttributes в MSDN).
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.