|
|
|
Código que crea un original reloj usando la libreria gráfica GD. En este caso solo se actualiza al refrescar la página por lo que para ser operativo se tendria que poner en una página que se refrescará cada segundo y llamarlo desde un include, por ejemplo.
<?php
// ------------------------------------------------------------------------- // // Affichage d´une horloge originale. // // Petit exemple de génération d´une image au format PNG. L´appel du script // // se réalise donc par un simple <img src="ShowTimer.php">. // // Le script est entièrement configurable, de la taille de l´image générée // // aux couleurs. Il génére une horloge "originale" !!! // // ------------------------------------------------------------------------- // // Auteur: jcd // // Email: jeanclaudeduss@laposte.net // // Web: // // ------------------------------------------------------------------------- //
// Taille de l´image minimum : 90x90 !!! $largeur = 90; $hauteur = 90;
// Création de l´image $img = imagecreate($largeur,$hauteur);
// ----- Paramètres de l´application -----
// Allocation des couleurs $couleurFond = imagecolorallocate($img,125,146,218); // Attention couleur transparente $couleurTrait = imagecolorallocate($img,0,0,0); // par defaut noir $couleurHeur = imagecolorallocate($img,255,0,0); // par défaut rouge $couleurMin = imagecolorallocate($img,255,255,0); // par défaut jaune $couleurSec = imagecolorallocate($img,0,255,0); // par défaut vert
// Ce paramètre s´il est initialisé à "true" trace le contour de l´horloge $affiche_echelle = true;
// Ce paramètre s´il est initialisé à "true" affiche le swatch internet time au // centre de l´horloge $affiche_beat = true;
// Epaisseur des aiguilles $epais = 20;
// --- Fin des paramètres de l´application ---
// Récupération de l´heure $heure = date("h"); // l´heure $minute = date("i"); // les minutes $seconde = date("s"); // les secondes $at = ´@´.date("B"); // Swatch internet time
// Coordonées du centre de l´image $cx = $largeur / 2; $cy = $hauteur / 2;
// Taille des heures $th = $largeur; // Taille des minutes $tm = $largeur - $epais; // Taille des secondes $ts = $largeur - ($epais*2);
imagecolortransparent ($img,$couleurFond);
// --- Départ création de l´image --- // fond de l´image imagefilledrectangle($img,0,0,$largeur,$hauteur,$couleurFond);
// Arc des heures // 1 Heure = 30° $cal_heure = $heure * 30; $cal_heure = $cal_heure - 90; // décalage de 90° pour placer le départ en haut for ($i=0;$i < $epais;$i++) imagearc ($img,$cx,$cy,$th-$i,$th-$i,270,$cal_heure,$couleurHeur);
// Arc des minutes // 1 minute = 6° $cal_minute = $minute * 6; $cal_minute = $cal_minute - 90; // décalage de 90° pour placer le départ en haut for ($i=0;$i < $epais;$i++) imagearc ($img,$cx,$cy,$tm-$i,$tm-$i,270,$cal_minute,$couleurMin);
// Arc des secondes // 1 seconde = 6° $cal_seconde = $seconde * 6; $cal_seconde = $cal_seconde - 90; // décalage de 90° pour placer le départ en haut for ($i=0;$i < $epais;$i++) imagearc ($img,$cx,$cy,$ts-$i,$ts-$i,270,$cal_seconde,$couleurSec);
if ($affiche_echelle) { // Trace des echelles // heure imagearc ($img,$cx,$cy,$th,$th,0,360,$couleurTrait); // minute imagearc ($img,$cx,$cy,$tm,$tm,0,360,$couleurTrait); // seconde imagearc ($img,$cx,$cy,$ts,$ts,0,360,$couleurTrait); // interne imagearc ($img,$cx,$cy,$ts-$epais,$ts-$epais,0,360,$couleurTrait);
// graduations for ($i=0;$i < 360;$i+=30) { for ($j=0;$j < $epais;$j++) { imagearc ($img,$cx,$cy,$th-$j,$th-$j,$i,$i+1,$couleurTrait); } } }
if ($affiche_echelle) imagestring($img,2,$cx-12,$cy-6,$at,$couleurTrait);
// Enfin, on envoie l´image au navigateur header("Content-Type: image/png"); // format PNG imagepng($img); ?>
|
|