Главная страница
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.046 c
1-1084030309
freak
2004-05-08 19:31
2004.05.23
Как на иконке ListView нарисовать что-то


1-1083744538
dimon1979
2004-05-05 12:08
2004.05.23
Цветовая палитра


4-1081527497
raul
2004-04-09 20:18
2004.05.23
Пуск -> Найти, интерестное окошко получается ( там где "Результ


1-1084265286
webAve
2004-05-11 12:48
2004.05.23
Мастера! Помогите решить проблему:


9-1073723243
Goorus
2004-01-10 11:27
2004.05.23
Простая графика