.. wenn es da funktioniert, dann kann imgSpectrumData nicht nur mit Nullen gefüllt sein.
Grüße
Klaus
Doch ist es
Code:
GdipCreateBitmapFromScan0(w, frmMain.ScaleHeight, w * 4, PixelFormat32bppARGB, imgSpectrumData(0, 0), imgSpectrum)
GDIP_CreateBitmapFromScan0(w, rc.Bottom, w * 4, PixelFormat32bppARGB, PByte(SpectrumData1D[0]), imgSpectrum)
erstellt ein leeres Bitmap im angegebenen Format
@Michael II Funktion liefert auch immer 0 zurück.
Delphi-Quellcode:
case FEffect of
0:
begin
d := round(Fade * 255);
for Y := 0 to h do
begin
for X := 0 to w do
begin
a := SpectrumData2D[x, y] shr 24;
if a >= d then
a := a - d
else
a := 0;
c := SpectrumData2D[x,y] and $00FFFFFF;
SpectrumData2D[x,y] := (a shl 24) or c;
end;
end;
end;
Die VB6 Funktion konvertiert das Byte (255) zu LONG
Code:
a = (((imgSpectrumData(x, y) And &HFF000000) \ &H1000000) And &HFF&)
Kann mir aber nicht vorstellen das es daran liegen könnte.
gruss