<?php
// Fichier : avatar_aleatoire.php
//configurations :
$config = [];
//0 ou 1, si 1 vous laissez le script faire plus ou moins de coordonnées et de répétitions de polygones
$config['aleatoire'] = 1;
//largeur de l'image
$config['taillex'] = 50;
//hauteur de l'image
$config['tailley'] = 50;
//nom de coordonnées aux polygones
$config['NbrCoordonnees'] = 8;
//nombre de fois 4 polygones aléatoires
$config['repetition'] = 2;
if($config['aleatoire'] == 1){
//nom de coordonnées aux polygones
$config['NbrCoordonnees'] = rand(3,15);
//nombre de fois 4 polygones aléatoires
$config['repetition'] = rand(1,25);
}
//on demande d'afficher se fichier en image PNG
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'] = [];
for($i = 1; $i <= $config['NbrCoordonnees']; $i++){
$CoordonneesPolygone['hautgauche'][$i] = [
'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'] = [];
$polygone['hautdroite'] = [];
$polygone['basdroite'] = [];
$polygone['basgauche'] = [];
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);
}
//on affiche l'image
imagepng($image);
//on libère la mémoire
imagedestroy($image);
?>
<img src="avatar_aleatoire.php" style="border-radius:50%">
J'espère que ce script gratuit vous sera utile dans vos projets.Si vous souhaitez soutenir mon travail, un simple clic sur le bouton "Donner remercier" ci-dessous ou une note serait grandement apprécié. Merci pour votre générosité !
Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.
Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.
Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :
Demander un devis