home *** CD-ROM | disk | FTP | other *** search
- procedure bit4(rin,gin,bin : byte ; var jmin : byte);
- const
- hue : array[0..15,0..2] of byte = ((210,242,160), {yellow}
- (230,229,249), {l. cyan}
- (148,116, 84), {brown}
- (152,120, 95), {white}
- ( 44, 38, 40), {black}
- (184,224,148), {yellow}
- ( 96,144,224), {l. blue}
- (140,184,228), {l. cyan}
- (156,204,240), {l. cyan}
- (100,144,148), {cyan}
- ( 50, 80, 52), {red}
- (120,168,232), {l. cyan}
- (112,116,108), {l. gray}
- ( 84, 84, 72), {gray}
- (104,112, 84), { gray}
- ( 40, 28, 32)); {magenta}
- var
- r, g, b, dist, min : longint;
- j : byte;
-
- begin {begining procedure bit4}
-
- min := 300000; jmin := 0;
- r := rin; g := gin; b := bin;
-
- for j := 0 to 15 do
- begin
- dist := 0;
- dist := (r-hue[j,0])*(r-hue[j,0]) +
- (g-hue[j,1])*(g-hue[j,1]) +
- (b-hue[j,2])*(b-hue[j,2]) ;
- if (dist <= min) then
- begin
- min := dist;
- jmin := j;
- end; {end the if dist}
- end; {end the for loop}
-
- end; {end the procedure bit4}