Cercle de couleur avec en effet 3D

cs_patrick Messages postés 31 Date d'inscription vendredi 19 mai 2000 Statut Membre Dernière intervention 21 juillet 2015 - 21 juil. 2015 à 14:23
 Utilisateur anonyme - 23 juin 2016 à 17:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101095-cercle-de-couleur-avec-en-effet-3d

Utilisateur anonyme
23 juin 2016 à 17:13
Bonjour,

Oui, la fonction createcolor n'existe pas, j'ai donc pris l'initiative de refaire un code source qui fonctionne :

<?php

// On créé une image de dimensions 100x100
$image = imagecreatetruecolor(100,100);

// Cette fonction convertit un code couleur HTML en code couleur RGB
function color_rgb($html_color)
{
$hex_R = substr($html_color,1,2);
$hex_G = substr($html_color,3,2);
$hex_B = substr($html_color,5,2);
$RGB = array(hexdec($hex_R),hexdec($hex_G),hexdec($hex_B));

return $RGB;
}

// Fonction qui dessine un cercle avec des effets 3D
function circle($image, $cx, $cy, $rayon, $color)
{
$diffs = array(
(255-$color[0])/$rayon,
(255-$color[1])/$rayon,
(255-$color[2])/$rayon,
($rayon/4)/$rayon
);

for($i=0; $i<$rayon; $i++)
{
$r = round($color[0] + ($diffs[0]*$i));
$g = round($color[1] + ($diffs[1]*$i));
$b = round($color[2] + ($diffs[2]*$i));
$e = $rayon - round($rayon - ($diffs[3]*$i));

imagefilledellipse($image, $cx-$e, $cy-$e, $rayon-$i, $rayon-$i, imagecolorallocate($image,$r,$g,$b));
}
}

// On dessine un cercle avec effet 3D en vert,
// de rayon 80 pixels,
// avec comme coordonnées (50;50)
circle($image,50,50,80,color_rgb('#00FF00'));

// On envoie l'image au navigateur
header('Content-type: image/png');
imagepng($image);

?>
a028762 Messages postés 1 Date d'inscription mardi 5 janvier 2016 Statut Membre Dernière intervention 5 janvier 2016
5 janv. 2016 à 09:40
Bonjour
la fonction createcolor ne semble pas exister ?
Une erreur de copier/coller sans doute...
Rejoignez-nous