Subversion Repositories cryptochat

Compare Revisions

Regard whitespace Rev 1 → Rev 2

/trunk/private/old_messenger/col.inc.php
0,0 → 1,57
<?php
 
// http://www.actionscript.org/forums/archive/index.php3/t-50746.html
function HSV_TO_RGB ($H, $S, $V) // HSV Values:Number 0-1
{ // RGB Results:Number 0-255
$RGB = array();
 
if($S == 0)
{
$R = $G = $B = $V * 255;
}
else
{
$var_H = $H * 6;
$var_i = floor( $var_H );
$var_1 = $V * ( 1 - $S );
$var_2 = $V * ( 1 - $S * ( $var_H - $var_i ) );
$var_3 = $V * ( 1 - $S * (1 - ( $var_H - $var_i ) ) );
 
if ($var_i == 0) { $var_R = $V ; $var_G = $var_3 ; $var_B = $var_1 ; }
else if ($var_i == 1) { $var_R = $var_2 ; $var_G = $V ; $var_B = $var_1 ; }
else if ($var_i == 2) { $var_R = $var_1 ; $var_G = $V ; $var_B = $var_3 ; }
else if ($var_i == 3) { $var_R = $var_1 ; $var_G = $var_2 ; $var_B = $V ; }
else if ($var_i == 4) { $var_R = $var_3 ; $var_G = $var_1 ; $var_B = $V ; }
else { $var_R = $V ; $var_G = $var_1 ; $var_B = $var_2 ; }
 
$R = $var_R * 255;
$G = $var_G * 255;
$B = $var_B * 255;
}
 
$RGB['R'] = $R;
$RGB['G'] = $G;
$RGB['B'] = $B;
 
return $RGB;
}
 
function str_to_color($str) {
$str = md5(strtolower($str));
 
$sum = 0;
for ($i=0; $i<strlen($str); $i++) {
$c = substr($str,$i,1);
$sum += ord($c);
}
$a = $sum % 255;
 
 
$r = HSV_TO_RGB($a/255, 1, 0.75);
 
return '#'.str_pad(dechex($r['R']), 2, '0', STR_PAD_LEFT).
str_pad(dechex($r['G']), 2, '0', STR_PAD_LEFT).
str_pad(dechex($r['B']), 2, '0', STR_PAD_LEFT);
}
 
?>