Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2015, 19:51   #11
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

AlphaBlend()
Прозрачность - это смешивание... поэтому нужно учитывать и z-order.
В вашем случаи, это родительское окно..
Не советую использовать старый TImage.... быть может вы от него унаследуете и создатите свой.
ЗЫ
Можно и с png пошаманить, но вы не сможете регулировать прозрачность, а это не круто...
Если помог, тут весы есть , Вам не сложно, а мне приятно.

Последний раз редактировалось Perchik71; 28.07.2015 в 19:54.
Perchik71 вне форума Ответить с цитированием
Старый 28.07.2015, 19:57   #12
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

А в статье и не заикается об Layered. Просто обзор блендинга. Есть две картинки, щлёп-щлёп. Полупрозрачное окно там не рассматривается.
Про Layered вот, старенькая, но до сих пор одна из самых неплохонаписанных: http://rsdn.ru/article/opengl/layeredopengl.xml
Цитата:
Ведь потребуется GDI+, верно?
Будет правильнее, но не единственнообязательно. Можно обходиться и GDI32 & MSIMG32. Только причём тут мышь вообще? о___0
Цитата:
избавиться от фона формы, т. е. добавить в него альфа-канал
Кисть окна такое не поддерживает. Разве что когда рисуешь поверх Аэро. гм... Не проверял что будет с выключенным.
Цитата:
Сейчас же появилась поддержка PNG-файлов с тех пор.
Где появилась? Внутри Винды при рисовании UI используется только BMP. Всё остальное конвертируется в него и только потом рисуется.
ResourceSpace вне форума Ответить с цитированием
Старый 28.07.2015, 20:00   #13
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Кисть окна такое не поддерживает. Разве что когда рисуешь поверх Аэро. гм... Не проверял что будет с выключенным.
А что если задать WS_EX_TRANSPARENT
PS: разумеется с WS_POPUP и WS_VISIBLE
SetWindowLong
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 28.07.2015, 20:06   #14
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Это всё не то, нашему Бэтмэну требуется полноценная "попиксельная полупрозрачность" AKA "слоистое окно".
ResourceSpace вне форума Ответить с цитированием
Старый 28.07.2015, 20:20   #15
Bruce Wayne
Пользователь
 
Регистрация: 08.07.2015
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Perchik71 Посмотреть сообщение
ЗЫ
Можно и с png пошаманить, но вы не сможете регулировать прозрачность, а это не круто...
Да, но зато можно было бы заранее её задать в рисунке и использовать - тоже годно.

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Где появилась?
Имеется в виду, можно напрямую загружать в программу PNG-файлы - в старых версиях сред не было поддержки такого типа. А по поводу мыши... Точно не уверен, из-за этого ли способа, но полупрозрачное окно было как будто частью обоев рабочего стола: пропускало насквозь щелчки и правой, и левой кнопками.

Спасибо огромное вам всем за такое активное участие Было бы и вправду здорово получить "слоистое окно". Если кто-то действительно уверен, что это невозможно - так и говорите, прекращу поиски насовсем и не буду больше мучиться тем, что не довёл дело до конца

Последний раз редактировалось Bruce Wayne; 28.07.2015 в 20:25.
Bruce Wayne вне форума Ответить с цитированием
Старый 28.07.2015, 20:36   #16
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
Счастье

Я, как и многие другие, скопировал в свою Делфи7 модуль для PNG, и нормально грузит всё. Конвертирует в BMP кривовато, чуть руками приходится. Так что грузить из PNG не проблема. Но после нужно в BMP переводить.

Так у вас получается генерировать 32-битный BMP, с вашим окном (как на рисунке)? Там нормальный альфа-слой? Можно сохранить и открыть в например XnView.
А мышь небось просто на полностью прозрачное попадало.

Тогда дальше изучите это: [Многослойные окна, UpdateLayeredWindow(), UpdateLayeredWindowIndirect()]
Добавить стиль (если отсутствует):
Код:
SetWindowLong(Handle, GWL_EXSTYLE, Not WS_EX_LAYERED And GetWindowLong(Handle, GWL_EXSTYLE));
Будут вопросы - пишите по порядку тут.

Последний раз редактировалось ResourceSpace; 28.07.2015 в 20:41.
ResourceSpace вне форума Ответить с цитированием
Старый 28.07.2015, 20:54   #17
Bruce Wayne
Пользователь
 
Регистрация: 08.07.2015
Сообщений: 21
По умолчанию

ResourceSpace, спасибо за направление, буду пробовать Может, по ходу на другие варианты выйду, или специалисты форума подскажут новые идеи, и снова будет, над чем поработать.
Bruce Wayne вне форума Ответить с цитированием
Старый 28.07.2015, 21:59   #18
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Автор, оно (см.вложение) ?

п.с. управлять правой и левой кнопкой крысёныша.
Вложения
Тип файла: zip alphablend.zip (175.0 Кб, 15 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 29.07.2015, 06:43   #19
Bruce Wayne
Пользователь
 
Регистрация: 08.07.2015
Сообщений: 21
По умолчанию

JUDAS, нет, у Вас меняется прозрачность сразу всей формы, а нужно, чтобы только у одной картинки. Причём поверх неё потребуется отображать другие полупрозрачные или непрозрачные изображения произвольной формы, поэтому свойства самой формы не помогут.
Bruce Wayne вне форума Ответить с цитированием
Старый 29.07.2015, 09:12   #20
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Bruce Wayne Посмотреть сообщение
свойства самой формы не помогут.
Помогут. Сделайте всю форму прозрачной а рисуйте прозрачно только куски, которые вам надо.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AlphaBlend: наложить bmp на jpg или наоборот fredwriter Помощь студентам 2 17.09.2012 19:28
Полупрозрачный DIV X@OC HTML и CSS 3 18.04.2011 08:54
полупрозрачный слой voldemen HTML и CSS 1 14.09.2010 22:14
Добавить точечному рисунку альфа канал, что бы рисунок воспринимался функцией AlphaBlend Son Мультимедиа в Delphi 3 11.02.2010 16:46
Как наложить полупрозрачный рисунок поверх видео. jocry Мультимедиа в Delphi 3 03.11.2009 09:22