Einzelnen Beitrag anzeigen

Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#66

Re: [GAME] Bloggy [ALPHA Version 0.6] (Multiplayer.?.)

  Alt 5. Mär 2008, 00: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
  Mit Zitat antworten Zitat