![]() |
Verschieden Dimensionale Arrays und Move
Hi,
Ich habe im Moment folgendes:
Delphi-Quellcode:
Jedoch werden die Daten nachweislich nicht richtig übertragen. Wenn ich das ganze male kommt etwas schwares dabei raus mit ein paar bunten pünktchen dazwischen. Es müsste eigentlich eine einfarbige Fläche sein..
type
TDawnColor = packed record case Integer of 0: (Value: Cardinal); 1: (R, G, B, A: Byte); end; TDawnPixels = Array of Array of TDawnColor; var Fpixels: TDawnPixels; data: Array of Cardinal; begin // SetLength(data,FWidth*FHeight); Move(FPixels[0],data[0],SizeOf(Cardinal)*FWidth*FHeight); // end; FPixels[0,0] oder FPixels statt FPixels[0] hab ich schon getestet, bringt aber nicht wirklich was... Gruß Neutral General |
Re: Verschieden Dimensionale Arrays und Move
Hallo Michael,
ein dynamisches zweidimensionales Array belegt keinen zusammenhängenden Bereich im Speicher. Es ist vielmehr eine Liste von Zeigern, die auf Vektoren verweisen. Gruß Hawkeye |
Re: Verschieden Dimensionale Arrays und Move
Mit anderen Worten: Ich kanns mit Move vergessen...(?)
|
Re: Verschieden Dimensionale Arrays und Move
Hallo Michael,
du kannst Move() verwenden, aber für jeden Vektor einzeln. Vektoren sind die arrays auf der untersten Ebene - die keine weiteren subarrays enthalten. Grüße vom marabu |
Re: Verschieden Dimensionale Arrays und Move
Hi,
Also ich hab das jetzt so verstanden:
Delphi-Quellcode:
Was aber auch nicht 100%ig funktioniert.. zuerst FPixels[0,0] hab ich auch schon probiert. Hab ich da noch einen Denkfehler drin?
Move(FPixels[0],data[0],FWidth*4);
Move(FPixels[0,0],data[FWidth-1],FHeight*4); |
Re: Verschieden Dimensionale Arrays und Move
Ich könnte mir sowas vorstellen:
Delphi-Quellcode:
Jenachdem wie du das 2D-Array organisiert hast, musst du eventuell FHeight und FWidth vertauschen.
begin
SetLength(data, FWidth * FHeight); for i := Low(FPixels) to High(FPixels) do Move(FPixels[i, 0], data[i * FHeight], SizeOf(Cardinal) * FWidth); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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 by Thomas Breitkreuz