X
xzh2000
Unregistered / Unconfirmed
GUEST, unregistred user!
下载打开后发现少了两个函数:DDCopyBitmap与DDLoadPalette
我试着被了两个函数,编绎通过后黑屏。
function DD_Load_Palette(DD:IDirectDraw7;BzBitmapChar):IDIRECTDRAWPALETTE;
var
DP: IDIRECTDRAWPALETTE;
PE: PPaletteEntry;
BP: TBitMap;
begin
BP:=TBitMap.Create;
BP.LoadFromFile(StrPas(BzBitMap));
if BP.Palette<>0 then
begin
GetPaletteEntries(BP.Palette, 0, 256, PE);
DD.CreatePalette(0,PE,DP,Nil);
End;
BP.Free;
Result:=DP;
end;
function DD_Load_BMP(pdds: IDirectDrawSurface7;BMPFile:string;x,y,dx,dy:integer):Boolean;
var
hbm:HBITMAP;
begin
Result:=False;
hbm := HBITMAP(LoadImage(0, PCHAR(BMPFile), IMAGE_BITMAP, 0, 0,LR_CREATEDIBSECTION or LR_LOADFROMFILE));
if (hbm = 0) then begin
DDResult:=E_FAIL;
exit;
end;
Result:=DD_Copy_Bitmap(pdds, hbm, x,y,dx,dy);
DeleteObject(hbm);
end;
能否将完整的代码发一份给我。
xzhui@vip.sina.com
我想买《Delphi DirectX 图形与游戏程序设计》这本书,但不知
北京那个地方有卖的,海淀图书城我去过好几次,查无此书。
当当和华储又找不到,真是急人。
我试着被了两个函数,编绎通过后黑屏。
function DD_Load_Palette(DD:IDirectDraw7;BzBitmapChar):IDIRECTDRAWPALETTE;
var
DP: IDIRECTDRAWPALETTE;
PE: PPaletteEntry;
BP: TBitMap;
begin
BP:=TBitMap.Create;
BP.LoadFromFile(StrPas(BzBitMap));
if BP.Palette<>0 then
begin
GetPaletteEntries(BP.Palette, 0, 256, PE);
DD.CreatePalette(0,PE,DP,Nil);
End;
BP.Free;
Result:=DP;
end;
function DD_Load_BMP(pdds: IDirectDrawSurface7;BMPFile:string;x,y,dx,dy:integer):Boolean;
var
hbm:HBITMAP;
begin
Result:=False;
hbm := HBITMAP(LoadImage(0, PCHAR(BMPFile), IMAGE_BITMAP, 0, 0,LR_CREATEDIBSECTION or LR_LOADFROMFILE));
if (hbm = 0) then begin
DDResult:=E_FAIL;
exit;
end;
Result:=DD_Copy_Bitmap(pdds, hbm, x,y,dx,dy);
DeleteObject(hbm);
end;
能否将完整的代码发一份给我。
xzhui@vip.sina.com
我想买《Delphi DirectX 图形与游戏程序设计》这本书,但不知
北京那个地方有卖的,海淀图书城我去过好几次,查无此书。
当当和华储又找不到,真是急人。