powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Правильная полупрозрачность (opacity) с указанием коэффициента
9 сообщений из 9, страница 1 из 1
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729012
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо наложить битмап на битмап с указанием для одного из них степени пролупрозрачности. Так, как это делает фотошоп при наложении слоев, с пересчетом каждого пикселя.
Все что гуглится по ключевым словам ведет к методу, в котором указывается один цвет как полностью прозрачный, но мне это не надо.
Наверняка все уже давно написано, но что-то найти не могу.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729052
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-home,
Код покажи.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729086
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисFlying-home,
Код покажи.
Так кода еще нет. Но уже кое-что нашел с помощью хитрого запроса
"Delphi полупрозрачность -прозрачность"
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1243725965&n=7&p=1
Без GDI+, без OpenGL, без DirectX. Чисто средствами винды и процессора. Кажется, это то, что надо.
Осталось только убедиться, что функция AlphaBlend не окажется deprecated.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729111
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-home,
Она не deprecated, но с ней пому...чаться придется, ибо работает только с premult-картинками. Если скорость не критична, используй GDI+, ЕМНИП в демках от есть даже готовый пример.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729200
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисFlying-home,
Она не deprecated, но с ней пому...чаться придется, ибо работает только с premult-картинками. Если скорость не критична, используй GDI+, ЕМНИП в демках от есть даже готовый пример.путаете, "с premult" layered-окна работают
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729233
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),
Думаю, что не путаю, поскольку дофига времени на это потратил. Но на всякий случай себя проверил.
В режиме AlphaFormat пикселы на подложке нужно вручную умножать на альфу (делать premult), сама функция не хочет.
https://docs.microsoft.com/ru-ru/windows/desktop/api/wingdi/ns-wingdi-_blendfunction Dst.Red = Src.Red + (1 - Src.Alpha) * Dst.Red
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729273
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понял из примера с приведенной ссылки, premult (24-битной) должна быть только та картинка, которую накладываешь. Меня это устраивает, поскольку я сам ее рисовать буду.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729275
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, 4 бита на пиксель.
...
Рейтинг: 0 / 0
Правильная полупрозрачность (opacity) с указанием коэффициента
    #39729295
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, 4 байта на пиксель.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Правильная полупрозрачность (opacity) с указанием коэффициента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]