Ich habe ein Problem damit bei einem Bitmap was nur 256 Farben hat, die Palette in ordentliche Rot, Gruen, Blau Werte zu ermitteln. Wenn ich aus dem Beispiel unten aus der Variable RGB& die Funtionen von Profan @GetRValue - @GetGValue - @GetBValue benutze kommt bei mir nur blödsinn.
Kann mir jemand sagen, was ich falsch mache ? Danke im Vorraus.
window 0,0-%maxX,%maxY
declare Size&,Offset&,bmp#,Colors&,RGB&,Liste&
Let Liste&=@CreateListBox(%hwnd,"",10,10,600,400)
assign #1,"winter.bmp"
openrw #1
Size&=getfilesize(#1)
dim bmp#,Size&
blockread(#1,bmp#,0,Size&)
closerw #1
Colors&=2^long(bmp#,28)
Offset&=long(bmp#,14)+14
locate 0,0
Declare R&,G&,B&,String$ 'RGB+Quad
whileloop 0,(Colors&-1)
RGB&=long(bmp#,Offset&+&loop*4)
R&=RGB& & $00FF0000
Let String$=@Str$(R&)
@AddString(Liste&,@Str$(RGB&))
endwhile
dispose bmp#
Start:
WaitInput
goto "Start"
|