Zitat:
imgSpectrumData ist als Byte definiert.. genauso wie das Array für den Buf.
GDIP_CreateBitmapFromScan0() erwartet doch sicherlich einen zusammenhängenden Speicherbereich und zwar von h * w * 4 Byte.
Sind die Elemente von imgSpectrumData[] nur als Byte deklariert, so ist das zu wenig Speicher.
Sollte imgSpectrumData[] als mehrdimensionales dynamisches Array deklariert sein, so ist der Speicherbereich noch nicht mal zusammenhängend.