Code-Beispiel
24bit zu 16bit
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
k. A. | Eternal_Pain | 10.09.2007 |
Diese Funktion wandelt einen 24bit RGB Wert in einen 16bit RGB Wert um.
Function Hrgb (Byval red As Ubyte, _
Byval green As Ubyte, _
Byval blue As Ubyte) As Ushort
Return (((red Shr 3) Shl 11)+((green Shr 2) Shl 5)+(blue Shr 3))
End Function
Beispiel:
Dim RGB16 as UShort
RGB16 = HRGB(255,255,255)
?RGB16
sleep
Fuer alles die es gern noch etwas schneller brauchen :o)
Hier noch eine MACRO/ASM Loesung (Danke an Volta)
#MACRO hrgb(red,green,blue,rgb16)
ASM
mov al, BYTE PTR [red]
SHL eax, 5
mov al, BYTE PTR [green]
SHL eax, 6
mov al, BYTE PTR [blue]
SHR eax, 3
mov word PTR [rgb16], ax
END ASM
#ENDMACRO
Beispiel:
DIM red AS UBYTE
DIM green AS UBYTE
DIM blue AS UBYTE
DIM rgb16 AS USHORT
red=255
green=255
blue=255
hrgb (red,green,blue,rgb16)
?rgb16
sleep
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|
|