|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.09.2009, 12:46 | #1 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
Прозрачность - AlphaBlend
Итак, в продолжение своей идеи с "пузырями" здесь, необходимо разобраться с слоями и прозрачностью.
В ресурсах у меня есть битмап - окружность. Попытался сделать его прозрачным, но по всей видимости никак не пойму логики работы функции AlphaBlend, но прозрачнее картинка не становится. Код:
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
03.09.2009, 13:32 | #2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Окно созданное с прозрачностью должно обладать стилями WS_EX_LAYERED - у вас оно таковым обладает? И сделать окно прозрачным можно гораздо проще - функцией SetLayeredWindowsAttributes.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
03.09.2009, 13:37 | #3 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
У меня не окно прозрачное должно быть, а картинка IDB_BITMAP1, что в ресурсах.
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
03.09.2009, 14:05 | #4 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
Все, нашел.
Косяк был в этом куске: Код:
И еще нужно было сбросить параметр bfn.AlphaFormat = 0; т.к. bfn.AlphaFormat = AC_SRC_ALPHA; если битмап имеет глубину цвета 32 бита. Я правильно понимаю, что AlphaBlend и BitBlt делают одно и то же: передают битмап с совместимого контекста устройства в памяти реальному контексту устройству (дисплею)? С той лишь разницей, что AlphaBlend еще определяет прозрачность.
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
03.09.2009, 15:44 | #5 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
решил поэкспериментировать с окном и попробовать функцию SetLayeredWindowsAttributes, но когда прописываю в стилях окна WS_EX_LAYERED, мне выдает ошибку: undeclared identifier.
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
04.09.2009, 02:20 | #6 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Код:
Вы сначала выводите картинку без прозрачности, а потом поверх неё рисуете её же, но уже с прозрачностью... %) Я бы от того кода попробовал оставить только это: Код:
P.S. Вот > тут < описание функции... И полезная цитата: Цитата:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прозрачность | SanekIrk | Общие вопросы Delphi | 4 | 30.12.2008 12:12 |
прозрачность | Артэс | Win Api | 8 | 02.12.2008 11:24 |
AlphaBlend - прозрачность картинки | Vovandows | Мультимедиа в Delphi | 2 | 26.09.2008 00:35 |
AlphaBlend + ShowModal | Cardagant | Общие вопросы Delphi | 2 | 11.06.2008 15:42 |
Прозрачность | Лубышев | Помощь студентам | 3 | 23.01.2008 00:05 |