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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 22:00   #11
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Через Image c прозрачностью от минимальной до максимальной.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 15.01.2010, 11:42   #12
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Код:
function AlphaBlend(DC: HDC; p2, p3, p4, p5: Integer; DC6: HDC; p7, p8, p9, p10: Integer; p11: TBlendFunction): BOOL; stdcall;
function AlphaDIBBlend(DC: HDC; p2, p3, p4, p5: Integer; const p6: Pointer;
        const p7: PBitmapInfo; p8: UINT; p9, p10, p11, p12: Integer; p13: TBlendFunction): BOOL; stdcall;
Берёте БитМап, на него отображаете то на что накладывать, и выше приведёнными функциями отображаете на канву Image. вот и всё. И было бы проще выводить BitBlt на канву формы, быстрей бы получилось и без мерцаний.

Альфа блиттинг исчо можно самописный. Это не сложно.

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#".
Только...
И не значком #.
И не РНР-кодом.
И не значком цитаты.
И не собственными "ручками".
Вы не знали? Почитайте правила раздела...
Модератор
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.

Последний раз редактировалось mihali4; 15.01.2010 в 17:54.
notHaker вне форума Ответить с цитированием
Старый 15.01.2010, 12:38   #13
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

И никто почему-то не вспомнил этот код (Эх вы, люди...) :
Код:
Procedure PicToPic(PicName1,PicName2,Times,Sleeper: String);
 Var
  bm, bm1, bm2: TBitMap;
  p1, p2, p: PByteArray;
  i, y, x: integer;
 Begin
  Sleep(StrToInt(Sleeper));
  bm := TBitMap.Create;
  bm1 := TBitMap.Create;
  bm2 := TBitMap.Create;
  bm1.LoadFromResourceName(HInstance,PicName1);
  bm2.LoadFromResourceName(HInstance,PicName2);
  bm.PixelFormat := pf24bit;
  bm1.PixelFormat := pf24bit;
  bm2.PixelFormat := pf24bit;
  bm.Height :=bm1.Height;
  bm.Width :=bm1.Width;
  FRMIntr.IMGIntroSplash.Canvas.Draw(0, 0, bm1);
  For i := 1 To StrToInt(Times) - 1 Do
  Begin
   For y := 0 To bm.Height - 1 Do
    Begin
      p := bm.ScanLine[y];
      p1 := bm1.ScanLine[y];
      p2 := bm2.ScanLine[y];
      For x := 0 To bm.Width * 3 - 1 Do
        p^[x] := round((p1^[x] * (StrToInt(times) - i) + p2^[x] * i) / StrToInt(times));
    End;
    FRMIntr.IMGIntroSplash.Canvas.Draw(0, 0, bm);
    Application.ProcessMessages;
    Sleep(5)
  End;
  bm1.Destroy;
  bm2.Destroy;
  bm.Destroy;
 End;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 15.01.2010, 17:51   #14
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Я предлагаю самый идиотский метод из всех возможных .
1)Создаем форму с черным фоном на которую выводится лого.
2)Создаем форму без рамки в которой будет рисоваться логотип. У нее прозрачность 0 (почитай как сделать прозрачную форму в инете).
3)В таймере приравниваем координату формы 2 к координате формы 1 так, чтобы она была там где черный фон и по немногу увеличиваем прозрачность формы 2
Удачи .
Вадим Буренков вне форума Ответить с цитированием
Старый 15.01.2010, 18:28   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Вадим Буренков, тогда уж лучше LayeredWindow
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать плавно сворачивающийся и раскрывающийся контрол, например панель. SkAndrew Общие вопросы Delphi 59 25.07.2011 00:11
Как отобразить картинку из интернета на форме reyn90 Помощь студентам 0 01.06.2009 20:05
Показать защитную картинку с кодом eldar Работа с сетью в Delphi 5 28.08.2008 11:01
Как плавно поменять цвет формы гера Помощь студентам 1 20.04.2007 15:35