magikern Skrevet 26. mars 2003 Del Skrevet 26. mars 2003 satt sammen to script jeg har lager for en stund siden for å få til et bilde som forandrer seg for hver gang man reloader det. <?php header ("Content-type: image/png"); $fp = fopen('randquote/randquote.txt', r); while (++$i and $line = fgets($fp, 4096)) { if ((mt_rand() / mt_getrandmax() * $i) < 1) { $it = $line; } } fclose($fp); $im = @imagecreate (468, 100) or die ("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 000, 000, 000); imagestring ($im, 4, 3, 5, "$it", $text_color); imagepng ($im); ?> nå er bare problemer mitt at div sitater i den fila ganske ofte blir for lange og derav blir de kuttet rett av, det jeg da trenger er en linje som setter inn "n" i $it hvis feks "$it > 15". fant noe på php.net; $it = str_replace ( chr(10), "n", $it ); men det viste seg å ikke hjelpe. kom til å tenke på en annen ting også: jeg vet jo at man kan lage transparent bakgrunn på bilder med de fleste tegneprogrammer men er dette mulig med php og gd? Lenke til kommentar
magikern Skrevet 26. mars 2003 Forfatter Del Skrevet 26. mars 2003 kom til å tenke på en annen ting også: jeg vet jo at man kan lage transparent bakgrunn på bilder med de fleste tegneprogrammer men er dette mulig med php og gd? fant svaret på dette og endra litt på bildet delen av scriptet: $im = @imagecreate (468, 100) or die ("Cannot Initialize new GD image stream"); $bg = ImageColorAllocate($im,255,255,255); $tx = ImageColorAllocate($im,0,0,0); ImageFilledRectangle($im,0,0,200,200,$bg); $trans=imagecolortransparent($im,$bg); ImageString($im,3,10,10,"$it",$tx); men jeg lurer fortsatt på hvordan jeg skal få delt den linja. Lenke til kommentar
kilogram Skrevet 27. mars 2003 Del Skrevet 27. mars 2003 WordWrap(), og evt. split stringen til ein array med Explode() (på 'rn'), før du skriver det ut i flere deler? Lenke til kommentar
magikern Skrevet 29. mars 2003 Forfatter Del Skrevet 29. mars 2003 WordWrap(), og evt. split stringen til ein array med Explode() (på 'rn'), før du skriver det ut i flere deler? leste en del om det her om dagen men får det fortsatt ikke til å fungere som jeg vil prøvde med: <?php header ("Content-type: image/png"); $fp = fopen('../randquote/randquote.txt', r); while (++$i and $line = fgets($fp, 4096)) { if ((mt_rand() / mt_getrandmax() * $i) < 1) { $it = $line; } } fclose($fp); //problemet ligger nå i disse to linjene: $txt = wordwrap($it, 20, "rn", 1); list($string, $width, $break, $cut) = explode(" ", $txt); $im = @imagecreate (468, 100) or die ("Cannot Initialize new GD image stream"); $bg = ImageColorAllocate($im,255,255,255); $tx = ImageColorAllocate($im,0,0,0); ImageFilledRectangle($im,0,0,200,200,$bg); $trans=imagecolortransparent($im,$bg); ImageString($im,3,10,10,"$txtrn",$tx); // send the image ImagePng($im); ?> sånn som det er nå vises hele setningen med et tegn som ligner på : "rY", per 20ende tegn, altså har den forstått at det skal skje noe på de punktene men det blir ikke no linjeskift. Jeg er ganske sikker på at "list()" er skrevet på feil måte men jeg finner ikke ut hvordan den skal være. Lenke til kommentar
magikern Skrevet 11. juni 2003 Forfatter Del Skrevet 11. juni 2003 har sånn fra tid til annen skrevet videre og endret på dette scriptet og begynner å få det til ganske bra nå, hvis noen skulle være interressert: http://magikern.sytes.net/code/projects/gd...gd_png_dynamic/ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå