~[V€Rm$³] a écrit le 14 février 2007 14:35
PHP vous donne l'heure, de sa montre...
Bonjour à tous,
PHP sait vous donner l'heure courante du serveur en une seule fonction: date("H:i");
Ce n'est pas nouveau, donc pas très originale.
Alors comme j'aime GD, je me suis dit que j'allais le mettre dans une image...
Mais pas uniquement de manière numérique avec imagestring();
Nous allons donc afficher: une HORLOGE! (du moins, le cadran :p)
Le code:
header ("Content-type: image/png");
$unite = 400;
$image = imagecreate($unite, $unite);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);
/* 1°. On crée le fond de l'horloge */
imageellipse ( $image, $unite/2, $unite/2, $unite/2, $unite/2, $black);
for($i=0;$i
imageline($image, cos(deg2rad($i))*$unite/4+$unite/2, sin(deg2rad($i))*$unite/4+$unite/2, -cos(deg2rad($i))*$unite/4+$unite/2, -sin(deg2rad($i))*$unite/4+$unite/2,$black);}
imagefilledellipse ( $image, $unite/2, $unite/2, $unite/2-20, $unite/2-20, $white);
/* 2°. On affiche l'heure numériquement */
$heures = 90-date("g")*30;
$minutes = 90-date("i")*6;
imagestring($image, 5, $unite/2-30, $unite/2+30, date("H")." : ".date("i"), $red);
/* 3°. On affiche les aiguilles */
imagesetthickness ( $image, 5);
imageline( $image, $unite/2, $unite/2, cos(deg2rad($heures))*$unite/6+$unite/2, -sin(deg2rad($heures))*$unite/6+$unite/2,$black);
imagesetthickness ( $image, 3);
imageline( $image, $unite/2, $unite/2, cos(deg2rad($minutes))*$unite/5+$unite/2, -sin(deg2rad($minutes))*$unite/5+$unite/2,$black);
imagepng($image);
?>
L'exemple:






Frimeur