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); |
} |
} |
} |
?> |