Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 326 → Rev 327

/trunk/applications/jrest/services/OdsMarqueur.php
5,64 → 5,65
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
 
class OdsMarqueur extends JRestService {
 
public function getElement() {
 
if(isset($_GET['couleurs'])) {
$couleurs = explode(',',$_GET['couleurs']);
$couleurs = strtoupper(urldecode($_GET['couleurs']));
$couleurs = explode(',', $couleurs);
}
 
$taille = 15;
 
if(isset($_GET['taille'])) {
$taille = $_GET['taille'];
}
 
$image = imagecreatetruecolor($taille,$taille);
$faux_noir = imagecolorallocate($image, 64, 64, 64);
$noir = imagecolorallocate($image, 0, 0, 0);
 
if(count($couleurs) <= 0) {
return;
}
 
//$couleurs = array_unique($couleurs);
sort($couleurs);
 
$pas_angle = 360/count($couleurs);
$angle = 0;
 
foreach($couleurs as $couleur_html) {
 
$couleur_rgb = $this->html2rgb($couleur_html);
$couleur_allouee = imagecolorallocate($image, $couleur_rgb[0], $couleur_rgb[1], $couleur_rgb[2]);
 
$couleur_allouee = imagecolorallocate($image, $couleur_rgb[0], $couleur_rgb[1], $couleur_rgb[2]);
imagefilledarc($image, $taille/2, $taille/2,
$taille, $taille-1,
$angle, $angle+$pas_angle,
$taille, $taille-1,
$angle, $angle+$pas_angle,
$couleur_allouee, IMG_ARC_PIE);
$angle = $angle+$pas_angle;
}
 
imagefilledarc($image, $taille/2, $taille/2,
$taille, $taille,
0, 360,
$taille, $taille,
0, 360,
$faux_noir, IMG_ARC_NOFILL);
 
imagecolortransparent($image, $noir);
 
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
}
 
function html2rgb($color)
{
if ($color[0] == '#')
$color = substr($color, 1);
 
if (strlen($color) == 6)
list($r, $g, $b) = array($color[0].$color[1],
$color[2].$color[3],
71,10 → 72,10
list($r, $g, $b) = array($color[0].$color[0], $color[1].$color[1], $color[2].$color[2]);
else
return false;
 
$r = hexdec($r); $g = hexdec($g); $b = hexdec($b);
 
return array($r, $g, $b);
}
}
}
?>