Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

TDirectDrawSurface из DelphiX   Найти похожие ветки 

 
ПсихЪ ©   (2004-03-09 02:00) [0]

Пишу спрайтовый движок. Решил использовать для отображения DelphiX. Написал класс для работы с потоками. В файл пишется потоком битмэп. Затем загружаю его в TGraphic. А из него загружаю на поверхность с помощью TDirectDrawSurface.LoadFromGraphic. Но возникает проблема обратного сохранения с поверхности в файл. Желательно для начала сохранить содержимое в TGraphic а затем уже в файл. Хотя можно было бы сразу отправить в поток. Но в классе TDirectDraw нет процедур сохранения, как то, SaveToFile, SaveToGraphic и SaveToStream. Как быть в этом случае?


 
KilkennyCat ©   (2004-03-09 02:16) [1]

Вообще-то, может это как раз из-за использования ДелфиИкс... не знаю. Я его сразу бросил, увидев разницу между непосредственным обращением к библиотекам директикса и этим компонентом. При нормальной работе (без делфиикса) я могу без проблем сохранить весь экран, кусок экрана или вторичной поверхности...


 
ПсихЪ ©   (2004-03-09 02:42) [2]

Просто используя DelphiX очень быстро можно создавать тулзы для движка. Например редактор игровых сцен, персонажей, спрайтов. Сначала я юзал стандартный TDXimageList. С его помощью можно было и выводить графику и сохранять её в файл, но это оказалось в последствии не удобно для отдельного использования спрйтового класс в других прогах. Поэтому решил от него отказаться в пользу TDirectDrawSurface, на котором он основан. Осталось только разобраться с сохранением в TGraphic. Расскажи поподробнее про то, как ты сохранял обычный IDDrawSurface(2,4,7) в файл или TBitmap. Может это мне чем-нибудь поможет...


 
cyborg ©   (2004-03-09 09:06) [3]


Var
 hRet : Cardinal;
 desc : TDDSURFACEDESC2;
...
 FillChar(ddsd,SizeOf(ddsd),0);
 desc.dwSize:=SizeOf(desc);
 hRet := Surface.Lock(nil, desc, DDLOCK_WAIT, 0);
 desc.lpSurface - адрес графических данных, можно читать оттуда и писать туда
 hRet:=Surface.Unlock(nil);

Учитывай разряд цвета и ширину поверхности



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

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
14-1083411471
Cardinal
2004-05-01 15:37
2004.05.23
Псевдографика


3-1083314382
Vitalik
2004-04-30 12:39
2004.05.23
TDBGrid


8-1078681532
GR@F
2004-03-07 20:45
2004.05.23
!!!!!!!!!!ЗВУК!!!!!!!!!!!!!!!


3-1083353267
Mishenka
2004-04-30 23:27
2004.05.23
FindKey


4-1080815064
WELLiON
2004-04-01 14:24
2004.05.23
Исчезающий значок из трея