![]() |
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:
Was habe ich falsch gemacht?
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; |
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 :) |
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 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz