Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Zweidimensionales TBitmap array? (https://www.delphipraxis.net/59645-zweidimensionales-tbitmap-array.html)

Dominik 26. Dez 2005 14:31


Zweidimensionales TBitmap array?
 
Hallo!

Ich muss ein großes Bild z.B. ein Foto in viele kleine Quadrate zerlegen. Die einzelnen Quadrate müssen wieder als TBitmap zur Verfügung stehen.

Ich habe mir gedacht dafür nimmt man am besten ein zweidimensionales Bitmap Array. Ich habe noch nie mit mehrdimensionalen Arrays in Delphi gearbeitet und habe dementsprechend wenig Ahnung davon.

Ich bekomme eine Zugriffsverletzung an dieser Stelle: BmpGrid[s,z] := TBitmap.Create;

mein Code sieht im Prinzip so aus:

Delphi-Quellcode:
TBmpArray = array of array of TBitmap;

var
  BmpArray: TBmpArray;
  Bmp: TBitmap;


.....


  SetLength(BmpGrid, 15, 20);

  for z := 0 to 14 do begin
    for s := 0 to 19 do begin
      BmpGrid[s,z] := TBitmap.Create;
      BmpGrid[s,z].Height := TexSize;
      BmpGrid[s,z].Width := TexSize;
      BmpGrid[s,z].Assign(Bmp);
      Bmp2.Free;
    end;
  end;
Was habe ich falsch gemacht?

dizzy 26. Dez 2005 14:36

Re: Zweidimensionales TBitmap array?
 
Deine Variable in der Deklaration heisst "BmpArray", in deinem Code arbeitest du mit "BmpGrid". Ist das nur ein Abschreibfehler?

Die Eigentliche Lösung: Du hast die Indezes vertauscht. Tausche mal s und z in deinem Code, aber nicht in den Schleifenköpfen.
edit: Oder nur in den Schleifenköpfen :)

Dominik 26. Dez 2005 14:40

Re: Zweidimensionales TBitmap array?
 
Das eine war nur ein Abschreibfehler.

Es hat scheinbar an den vertauschten Variablen gelegen. Manchmal kann man echt bescheuert sein.

Vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz