Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как спрайты из TDXImageList скопировать в TBitMap [Delphi, Windows]


laa ©   (2004-03-25 16:33:00) 

Нужна помощь с DelphiX. Вся графика у меня строится таким образом:
Создаю буфер (TBitMap), на него бросаю спрайты и текст, затем буфер вывожу на DXDraw1.Surface.Canvas.
У меня есть следующие вопросы:
 1. как спрайты из TDXImageList вывести в мой буфер (TBitMap).
 2, какие есть оптимальные схемы вывода графики?
Заранее благодарен!


laa   (2004-04-01 11:19:00) [1]

Да, у меня 6-я версия.
А в 7-й все нормально работает?


lyeh   (2004-04-01 01:15:00) [2]

2 Omar2002 ©
А ты какую Delphi юзаешь? В 6-й именно такая ошибка


Omar2002   (2004-03-29 21:41:00) [3]

почему это в зеленых тонах, я в своей игрушке использую альфу - у меня все цвета нормально раборают.


laa   (2004-03-27 10:56:00) [4]

Ух.. Разобрался я как копировать:
BitBlt(Buffer.Canvas.Handle,x,y,48,48,Form1.TDXImageList.Items[0].Picture.Bitmap.canvas.handle,0,0,SRCCOPY);
Но только очень медленно выводит.
А DXDraw.Surface.DrawAlpha дествительно выводит полупрозрачные спрайты, но только в зеленом цвете :) Если в игрушке делать радар или ренген, то покатит (но тоже медленно).


lyeh   (2004-03-27 00:56:00) [5]

2 laa
Дык есть же что-то вроде DXDraw.Surface.DrawAlpha (или DXDraw.DrawAlpha, или DXImageList.Items[0].DrawAlpha - не помню)
А вообще блендинг средствами DelphiX, и DirectDraw в целом - жутко медленная вещь...


laa   (2004-03-26 11:14:00) [6]

Дело в том, что мне нужно вывести полупрозрачный спрайт. Для этого я в буфере смешиваю цвет фона с цветом спрайта, а затем уже вывожу на DXDraw1.Surface. А как скопировать спрайт с TDXImageList с №ХХ в свой буфер для обработки я так и не разобрался.


Omar2002   (2004-03-25 19:49:00) [7]

А вобще на DelphiGFX воляется мг=ного примеров по DelphiX , покапайся там


Omar2002   (2004-03-25 19:43:00) [8]

Ну я бы тебе посоветовал выводить все твои спрайты сразу на DXDraw1.Surface . Это так делается

DXImageList1.Items[0].Draw(DXDraw1.Surface,x,y,0);


Наверх

Титульная страница Поиск, карта сайта Написать письмо