home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
05
/
ami019b.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
726b
|
60 lines
REM Przeliczanie RGB na HSV
REM R [0-15], G [0-15], B [0-15]
INPUT R:INPUT G:INPUT B
H=0:S=0:V=0:T=-1
MAX=((R>G AND R>B)*T*R)+((G>R AND G>B)*T*G)+((B>R AND B>G)*T*B)
MAX=MAX+((R=G) AND R>B)*T*R+((R=B) AND R>G)*T*R+((G=B) AND G>R)*T*G
MAX=MAX+(R=G AND G=B)*T*R
MAX=((R<G AND R<B)*T*R)+((G<R AND G<B)*T*G)+((B<R AND B<G)*T*B)
MAX=MAX+((R=G) AND R<B)*T*R+((R=B) AND R<G)*T*R+((G=B) AND G<R)*T*G
MAX=MAX+(R=G AND G=B)*T*R
IF MAX=0 THEN GOTO WYNIK
V=MAX/15*100
S=100-(100-(MAX-MIN)/MAX*100)
D=MAX-MIN
IF D=0 THEN D=2
IF R=MAX THEN H=(G-B)/D:GOTO WYNIK
IF G=MAX THEN H=2+(B-R)/D:GOTO WYNIK
IF B=MAX THEN H=4+(R-G)/D:GOTO WYNIK
WYNIK:
H=H*60
IF H<0 THEN H=H+360
PRINT "H,S,V=";H,S,V