Cercle de couleur avec en effet 3D

Contenu du snippet

Bonjour,

Après quelques recherche sur la toile, je me suis appercu qu'il n'y avait pas d'exemple
de code permettant de faire un jolie point de couleur sur une image avec un legé effet 3D...

	
<?php
    //----------------------------------------------------------------------------------
	// Convertion d'un code couleur html en rgb
	//----------------------------------------------------------------------------------
	function color_rgb($html_color) {
		if(preg_match("/^[#]([0-9a-fA-F]{6})$/",$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;
		} 
		return false;
	}
	
	
	//----------------------------------------------------------------------------------
	// Creation d'un cercle avec effet 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, createcolor($image, array($r, $g, $b)));
		}
	}
	
	// Demo d'un point vert sur une carte de la corse
    $image = ImageCreateFromJpeg('corse.jpg') or die ("Erreur lors du chargemnt de l'image de fond");          
    circle($image,10,20,30,color_rgb('#00FF00'));
    header ("Content-type: image/png"); 
	ImagePng ($image); 
	
	

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.