Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
Turbo Delphi für Win32
|
Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)
5. Mär 2008, 01:42
So ich habe die Lösung gefunden.
Für alle die auch so ein Problem haben sollten hier der Code, um ein Bild in einem Pointer mit Type Byte zu spiegeln.
Delphi-Quellcode:
Var
I,J,p : Integer;
InvData : Array [0..256,0..1,0..2] of ^Byte;
TMP : Array [0..256,0..2] of Byte;
pData : Pointer;
[...........]
for I := 0 to (Width div 2) do
begin
for J := 0 to Height-1 do
begin
InvData[j,0,0] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 0));
InvData[j,0,1] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 1));
InvData[j,0,2] := (Pointer(Integer(pData) + I*Width*3 + J*3 + 2));
InvData[j,1,0] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 0)));
InvData[j,1,1] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 1)));
InvData[j,1,2] := (Pointer((Integer(pData) + (Width-i)*Width*3 + j*3 + 2)));
TMP[j,0] := InvData[j,0,0]^;
TMP[j,1] := InvData[j,0,1]^;
TMP[j,2] := InvData[j,0,2]^;
InvData[j,0,0]^ := InvData[j,1,0]^;
InvData[j,0,1]^ := InvData[j,1,1]^;
InvData[j,0,2]^ := InvData[j,1,2]^;
InvData[j,1,0]^ := TMP[j,0];
InvData[j,1,1]^ := TMP[j,1];
InvData[j,1,2]^ := TMP[j,2];
end;
end;
Björn Zeutzheim
|