Форум: "Media";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Media";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c