Вниз
Скачать: CL | DM;

как спрайты из TDXImageList скопировать в TBitMap   Найти похожие ветки 

 
laa   (2004-03-25 16:33) [0]

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


 
Omar2002 ©   (2004-03-25 19:43) [1]

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

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


 
Omar2002 ©   (2004-03-25 19:49) [2]

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


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

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


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

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


 
laa ©   (2004-03-27 10:56) [5]

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


 
Omar2002 ©   (2004-03-29 21:41) [6]

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


 
lyeh ©   (2004-04-01 01:15) [7]

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


 
laa ©   (2004-04-01 11:19) [8]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
14-1088081541
Kenzoo
2004-06-24 16:52
2004.07.18
Принтер этикеток


1-1088479503
Pavelkq
2004-06-29 07:25
2004.07.18
Извлечение слов из MS Word


14-1088567524
alexa
2004-06-30 07:52
2004.07.18
Установка Delphi.net


1-1088675205
Dinnik
2004-07-01 13:46
2004.07.18
Как программно добавить поля в FieldsEditor?


1-1088670304
Wowa-K
2004-07-01 12:25
2004.07.18
Как подключить *.xls в качестве таблицы




   Наверх