04. september 2007 - 17:24Der er
21 kommentarer og 1 løsning
Lave at avatar der tæller ned til en bestemt dato
Jeg har før set avatars, hvor der er lavet noget php over det, så det enten måler uptime på server eller lignende. Er det muligt at lave et avatar der tæller ned med php til en bestemt dato?
Det kan man ikke lave i PHP, da PHP er et serverside scriptsprog. Det vil sige at det afvikles inden output til brugerens browser. Skal du lave en nedtælling a la et ur, foregår det i f.eks javascript.
Det skal nok laves via imagecreate functionerne i php, php.net har en online database med syntax til alle funktionerne, og er for det meste en meget stor hjælp.
Jeg vil tælle ned til tv-serien Heroes begynder igen i USA, hvilket er d. 24. september. Idag er der 19 dage, altså skal der stå 19 på avataret. Imorgen vil der være 18, altså skal den vise 18.
Nå okay ... så forstår jeg. Ja, det har jo præcis ligeså meget med en avatar at gøre som min spegepølsemad har. Jeg tror, du skal prøve at slå ordet op ;D
Prøv at kikke på det link, dj_ricko gav dig. Det er, hvad du skal bruge :)
Der findes massere af eksempler (både her på eksperten og andre steder på nettet) hvordan man genererer billeder med tilfældig tekst - umiddelbart vil jeg tro at det er det du skal have fat i, lav en string med antal dage tilbage og sæt det ind i et billede. Det kan sikkert gøres smartere - men jeg vil tro det er en mulighed.
Lige for at gøre det klart - grunden til jeg nævner det med at indsætte tilfældig tekst på et billede er naturligvis fordi det er den metode du skal have fat i. I stedet for du via PHP genererer en tilfældig streng har du bare en streng som du sætter udfra nogle dato beregninger.
$text = "Der er ".$diff." dag".($diff>1?"e":"")." igen"; // Er der flere dage til, skrives 'dage' - ellers 'dag' imagettftext($im, $aImgProps["fontSize"], $aImgProps["textAngel"], $aImgProps["startPoint"][0], $aImgProps["startPoint"][1], $frontColor, $aImgProps["font"], $text);
// Ekstra, vinklet tekst i bunden: $frontColor2 = imagecolorallocate($im, $aImgProps["fColor2"][0], $aImgProps["fColor2"][1], $aImgProps["fColor2"][2]); $text2 = "- og noget alternativ tekst i bunden af billedet ..."; imagettftext($im, $aImgProps["fontSize2"], $aImgProps["textAngel2"], $aImgProps["startPoint"][0], $aImgProps["height"]-20, $frontColor2, $aImgProps["font"], $text2);
Nu har jeg prøvet at indsætte mine værdier, men kan ikke få det til at virke. Jeg har placeret baggrund.png, arial.ttf, samt php-filen i samme mappe, men det virker ikke helt.
Er det jeg har skrevet forkert?
<?php header("Content-type: baggrund.png");
// Ret properties for billedet i dette array: $aImgProps = array( "width" => 150, "height" => 250, "fColor" => array(255, 0, 0), // Forgrundsfarve: Rød "bColor" => array(255, 255, 0), // Baggrundsfarve: Gul "font" => "arial.ttf", // Stien til fonten "fontSize" => 20, "startPoint" => array(10, 30), // Nederste, venstre hjørne, hvor teksten starter "textAngel" => 0, "fromDate" => array(12, 9, 2007), // Dato i dansk format (dag, måned, år),
"fColor2" => array(0, 0, 0), // Alternativ forgrundsfarve: Sort "fontSize2" => 10, // Alternativ skriftstørrelse "textAngel2" => 5 // Alternativ tekstvinkel i grader );
$text = "Der er ".$diff." dag".($diff>1?"e":"")." igen"; // Er der flere dage til, skrives 'dage' - ellers 'dag' imagettftext($im, $aImgProps["fontSize"], $aImgProps["textAngel"], $aImgProps["startPoint"][0], $aImgProps["startPoint"][1], $frontColor, $aImgProps["font"], $text);
// Ekstra, vinklet tekst i bunden: $frontColor2 = imagecolorallocate($im, $aImgProps["fColor2"][0], $aImgProps["fColor2"][1], $aImgProps["fColor2"][2]); $text2 = "- og noget alternativ tekst i bunden af billedet ..."; imagettftext($im, $aImgProps["fontSize2"], $aImgProps["textAngel2"], $aImgProps["startPoint"][0], $aImgProps["height"]-20, $frontColor2, $aImgProps["font"], $text2);
Jeg kan ikke lukke uden et svar, hvis i altså vil have lidt point.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.