Um die Effekte korrekt darzustellen benötige ich die X, Y Position eines jeden Pixel.
Die habe ich aber in der Funktion BitmapData nicht zur Verfügung.
Du läufst doch mit einer Schleife über alle Pixel in BitmapData.
Die X/Y Position des aktuellen Pixels steht doch dann in den Schleifenvariablen (Row, Col)
Richtig in meiner neuen Funktion.
Ja und deshalb weise ich sie dem Array zu.
Delphi-Quellcode:
for X := 0 to BitmapData.Width - 1 do
begin
Pixel := RGBQuad^;
SpectrumData2D[X, Y] := DWord(Pixel);
inc(RGBQuad);
end;
Ich muss das so machen weil ich nachher dem Buf das Array zuweisen muss..
Buf := SpectrumData2D;
PS:
Wie komme ich sonst an die X, Y Position ohne sie in jedem Durchlauf in der Render Funktion des jeweiligen Effekts durchzulaufen?
Das mache ich einmal in BitmapLockBits(imgSpectrum); und fertig.
gruss