Forum: Multimedia
Delphi
by Amateurprofi,
2. Apr 2019
function Array2DTo1D(AArray: TArray2D): TArray1D;
var
y, x: Integer;
n: Integer;
begin
SetLength(Result, Length(AArray) * Length(AArray));
n := 0;
for y := 0 to High(AArray) do begin
for x := 0 to High(AArray) do begin
Forum: Multimedia
Delphi
by Amateurprofi,
1. Apr 2019
@Emil.
Kann sein ich habe da etwas gefunden, was ein Grund für Exceptions sein könnte.
Am Ende von #64 schrieb ich:
Schon als ich das schrieb hatte ich das Gefühl dass da noch mehr ist und habe das deshalb noch mal überprüft.
Wenn du an FillChar SpectrumData2D als StartAdresse übergibst, dann werden nicht die Daten in SpectrumData2D gelöscht, sondern die in SpectrumData2D enthaltenen...
Forum: Multimedia
Delphi
by Amateurprofi,
30. Mär 2019
Rechnerisch!
Natürlich unter der Voraussetzung dass SpectrumData2D ein Byte ist (wie von Dir angegeben und wie auch in Deinem Projekt deklariert)
Beispiel:
SpectrumData2D = $37
$00000037
and $FF000000
= $00000000
div $1000000
= $00000000
Forum: Multimedia
Delphi
by Amateurprofi,
30. Mär 2019
Hallo Emil,
schau dir mal #1 genauer an.
d := round(Fade * 255);
Fade, wenn ich es richtig sehe ist ein Single im Bereich 0 .. 1.
Also ist d (ein Integer) im Bereich 0 .. 255
Der auskommentierte Ausdruck
//a := (((SpectrumData2D and $FF000000) div $1000000) and 255);
Ergibt immer a = 0