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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2012, 01:06   #1
mrbadge
Пользователь
 
Регистрация: 26.01.2011
Сообщений: 48
По умолчанию AlphaBlend

Использую AlphaBlend, чтобы получить прозрачную "дырку" в битмапе. (RGB каналы умножены в обратном порядке на значение α-канала).
Код:
var blend: BLENDFUNCTION;
...
with blend do begin
  BlendOp := AC_SRC_OVER; // one blend op really supported
  BlendFlags := 0;
  AlphaFormat := AC_SRC_ALPHA;
  SourceConstantAlpha := 150;
  end;
  AlphaBlend(fld.Picture.Bitmap.Canvas.Handle, 0, 0, 100, 100,
           bm_smog_tmp.canvas.handle,
          0, 0, 100, 100, blend);
...
fld.Canvas.Draw(0, 0, bm_smog_tmp);
fld (TImage) - нижний слой
bm_smog_tmp (TBitmap) - верхний слой
В результате получается просто черный фон, что в корне не верно)
Заранее благодарен за помощь.

Последний раз редактировалось mrbadge; 29.08.2012 в 10:02.
mrbadge вне форума Ответить с цитированием
Старый 13.09.2012, 12:55   #2
luckyleo769
 
Регистрация: 14.07.2012
Сообщений: 9
По умолчанию

не получится записать альфа канал в простой битмап, ибо там информация RGB и об альфа он понятия не имеет.

можно попробовать то же самое провернуть на битмапе TPNGObject, по-мойму он ABGR

А вообще тебе в помощь GDI+ и не заморачивайся - разобраться легко и быстро
luckyleo769 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование AlphaBlend askarchic Общие вопросы Delphi 11 25.03.2011 13:34
AlphaBlend и onResize D][mon Помощь студентам 0 29.09.2010 22:06
Image и AlphaBlend Zeraim Общие вопросы Delphi 4 09.09.2009 12:45
Прозрачность - AlphaBlend nazavrik Win Api 5 04.09.2009 02:20
AlphaBlend + ShowModal Cardagant Общие вопросы Delphi 2 11.06.2008 15:42