<?php
//configurations
$config=array();
$config['aleatoire']=1;//0 ou 1, si 1 vous laissez le script faire plus ou moins de coordonnées et de répétitions de polygones
$config['taillex']=50;//largeur de l'image
$config['tailley']=50;//hauteur de l'image
$config['NbrCoordonnees']=8;//nom de coordonnées aux polygones
$config['repetition']=2;//nombre de fois 4 polygones aléatoires
if($config['aleatoire'] == 1){
$config['NbrCoordonnees']=rand(3,15);//nom de coordonnées aux polygones
$config['repetition']=rand(1,25);//nombre de fois 4 polygones aléatoires
}
//on demande d'afficher se fichier en image
header('Content-type: image/png');
// Création d'une image
$image = imagecreatetruecolor($config['taillex'], $config['tailley']);
$bg = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
// Remplit l'arrière-plan
imagefilledrectangle($image, 0, 0, $config['taillex'], $config['tailley'], $bg);
for($repete=1;$repete<=$config['repetition'];$repete++){
// Alloue des couleurs aléatoires
$colorpolygone = imagecolorallocate($image, rand(0,255), rand(0,255), rand(0,255));
//definition des coordonnées pour le 1er polygone (qui sera dans le coin en haut à gauche, on mettre ensuite le reflet de celui-ci sur les trois autres coins)
$CoordonneesPolygone['hautgauche']=array();
for($i=1;$i<=$config['NbrCoordonnees'];$i++){
$CoordonneesPolygone['hautgauche'][$i]=array("x"=>rand(0,($config['taillex']/2)),"y"=>rand(0,($config['taillex']/2)));
}
// Définition du tableau de points pour les 4 polygones (reflet du polygone haut gauche)
$polygone['hautgauche'] = array();
$polygone['hautdroite'] = array();
$polygone['basdroite'] = array();
$polygone['basgauche'] = array();
for($i=1;$i<=$config['NbrCoordonnees'];$i++){
//ajout des coordonnées pour le polygone haut gauche
$polygone['hautgauche'][]=$CoordonneesPolygone['hautgauche'][$i]['x'];
$polygone['hautgauche'][]=$CoordonneesPolygone['hautgauche'][$i]['y'];
//ajout des coordonnées pour le polygone haut droite
$polygone['hautdroite'][]=$config['taillex']-$CoordonneesPolygone['hautgauche'][$i]['x'];
$polygone['hautdroite'][]=$CoordonneesPolygone['hautgauche'][$i]['y'];
//ajout des coordonnées pour le polygone bas droite
$polygone['basdroite'][]=$config['taillex']-$CoordonneesPolygone['hautgauche'][$i]['x'];
$polygone['basdroite'][]=$config['tailley']-$CoordonneesPolygone['hautgauche'][$i]['y'];
//ajout des coordonnées pour le polygone bas gauche
$polygone['basgauche'][]=$CoordonneesPolygone['hautgauche'][$i]['x'];
$polygone['basgauche'][]=$config['tailley']-$CoordonneesPolygone['hautgauche'][$i]['y'];
}
// Dessine les polygones
imagefilledpolygon($image, $polygone['hautgauche'], $config['NbrCoordonnees'], $colorpolygone);
imagefilledpolygon($image, $polygone['hautdroite'], $config['NbrCoordonnees'], $colorpolygone);
imagefilledpolygon($image, $polygone['basdroite'], $config['NbrCoordonnees'], $colorpolygone);
imagefilledpolygon($image, $polygone['basgauche'], $config['NbrCoordonnees'], $colorpolygone);
}
imagepng($image);//on affiche l'image
imagedestroy($image);//on libère la mémoire
?>
Les champs marqués d'un * sont obligatoires.