Scripts
Digitale + Analoge datum/klok in afbeelding
Dit is mijn eerste script dat ik publiceer, ik heb geprobeerd alles er zo duidelijk mogelijk bij te zetten. Het gaat hier voornamelijk om de analoge klok, eventueel kun je je eigen achtergrondafbeelding zo aanpassen dat er ook cijfers op de wijzerplaat staan. Opbouwende kritiek is altijd welkom.
digitale-analoge-datumklok-in-afbeelding
<?php
// Zorgen dat de browser hem als afbeelding leest
header('Content-type: image/png');
// Nederlandse datum berekenen
$today = getdate();
$dagen=array();
$dagen[]="Zondag";
$dagen[]="Maandag";
$dagen[]="Dinsdag";
$dagen[]="Woensdag";
$dagen[]="Donderdag";
$dagen[]="Vrijdag";
$dagen[]="Zaterdag";
$maanden=array();
$maanden[]="jan";
$maanden[]="feb";
$maanden[]="maart";
$maanden[]="april";
$maanden[]="mei";
$maanden[]="juni";
$maanden[]="juli";
$maanden[]="aug";
$maanden[]="sept";
$maanden[]="okt";
$maanden[]="nov";
$maanden[]="dec";
$dag = $dagen[$today[wday]]." ".date('d')." ";
$maand = $maanden[$today[mon]-1].", ".date('Y');
// Achtergrondafbeelding kiezen
$im = @imagecreatefromjpeg('background.jpg');
// Kleuren toewijzen
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29);
// Teksten toewijzen
$text = "$dag$maand";
$H= date(H);
$i= date(i);
$text2= "$H:$i";
$text3 = "...........";
$text4 = "......";
// minutenwijzer (gradenhoek berekenen)
$graden = $i * (5/3) * 0.01 * 360 - 90;
$graden = $graden - $graden - $graden;
// urenwijzer (gradenhoek berekenen)
$graden2 = $H * (25/3) * 0.01 * 360 - 90;
$graden2 = $graden2 - $graden2 - $graden2;
// Urenwijzer ook minuutgevoelig maken.
$aanpassing = $graden / 12;
$graden2 = $graden2 + $aanpassing;
// Lettertype (moet in dezelfde map staan, anders werkt het niet)
$font = 'arial.ttf';
// Wijzers en teksten tekenen
imagettftext($im, 20, -45, 10, 20, $white, $font, $text);
imagettftext($im, 20, 45, 200, 350, $white, $font, $text2);
imagettftext($im, 20, $graden, 500, 300, $white, $font, $text3);
imagettftext($im, 20, $graden2, 500, 300, $white, $font, $text4);
// Het aanmaken en verwijderen van de afbeelding
imagepng($im);
imagedestroy($im);
?>
Reacties
0