Вниз
Скачать: 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.029 c
1-1088897449
CyberSpy
2004-07-04 03:30
2004.07.18
Странная ошибка!


1-1089033655
wild_arg
2004-07-05 17:20
2004.07.18
навигация по TXMLDocument


3-1088020852
Bizon's
2004-06-24 00:00
2004.07.18
SQL запрос


1-1088670508
Subdigger
2004-07-01 12:28
2004.07.18
DEVexpress


3-1087851662
DimDim
2004-06-22 01:01
2004.07.18
Упаковать таблицы DBISAM




   Наверх