Hallo Number5,
verstehst Du die 2 unterschiedlichen Verfahren? In Deinem Programm werden eben Werte für ein Farbtabelle uebergen, dazu braucht man eben nur eine 2D-Matrix. Eigentlich sollte das Array aus Integer-Werten bestehen, weil Indixes in eine Tabelle logischerweise Integer-Werte sind.

Aber vielleicht habe ich ja noch Deine alte Version ausprobiert, muss erst mal die neue Version ausprobieren.

getbitmap() holt ein Bitmap auf die Platte und kopiert die daten in den speicher der dll.
??? ich dachte, Du wolltest die Platte umgehen ?

Was macht rgb2hsv ?
RGB to HSV wandelt ein Bild vom Rot-Gruen-Blau Farbraum in den Farbton-Sättigungs-Helligkeitsfarbraum.

http://de.wikipedia.org/wiki/HSV-Farbraum

Die Betohnung lieg hier auf Helligkeit. Wenn man alle Werte der Helligkeitsebene auf 1 setzt, erhellt man ein helligkeitsnormiertes Bild, also alle Farben gleich hell.
Ich habe hier leider keinen Speicherplatz mehr frei, sonst würde ich ein Bild posten.

Du kannst es aber auch einfach mal selber ausprobieren.

1. Bild mit rgb2hsv umwandeln
2. Helligkeisebee auf 1 setzen.
3. Bild mit hsv2rgb zurückwandeln und anzeigen

Gruss,
stochri