Snåsamannen Skrevet 19. oktober 2008 Del Skrevet 19. oktober 2008 (endret) Hei! Jeg klarer ikke å plassere teksten slik jeg vil med GD funksjonen i PHP. Kan noen gi meg et eksempel der tekst er midtstilt på et eksisterende bilde? Koden under klarer jeg bare å få justert til slik at teksten blir flyttet horisontalt. <?php header("Content-type: image/png"); $string = $_GET['text']; $im = imagecreatefrompng("images/button1.png"); $orange = imagecolorallocate($im, 220, 210, 60); $px = (imagesx($im) - 7.5 * strlen($string)) / 2; imagestring($im, 3, $px, 9, $string, $orange); imagepng($im); imagedestroy($im); ?> Endret 19. oktober 2008 av Big-Mama Lenke til kommentar
oxodesign Skrevet 20. oktober 2008 Del Skrevet 20. oktober 2008 se her: http://www.retireat21.com/tutorial/52 Bruk google, du finner det meste der Lenke til kommentar
Snåsamannen Skrevet 20. oktober 2008 Forfatter Del Skrevet 20. oktober 2008 Takk, men jeg leter etter hvordan jeg kan plassere tekst ved hjelp av koordinater på et eksisterende bilde Lenke til kommentar
Gjest Slettet+142 Skrevet 20. oktober 2008 Del Skrevet 20. oktober 2008 Først vil du ha noe til å midtstille tekst på et bilde, og så vil du ha en funksjon for å sette tekst på et bilde ved hjelp av koordinater (altså imagestring). Hva er det du vil ha? OXODesign ga et fint svar synes jeg, men..? Ser koden du allerede har er hentet fra en kommentar på php.net, men om du hadde sett videre hadde du kanskje funnet en eller to kommentarer til som inneholdt kode for dette. Eksempel til to!: Sentreringen er ikke 100%. <?php if(isset($_GET['source'])){ show_source(__FILE__); exit; } header("Content-Type: image/png"); $string = $_GET['text']; $im = imagecreatefrompng("imagestringcenter.png"); $color = imagecolorallocate($im, 220, 210, 60); imageCenterString($im, 3, $string, $color); imagepng($im); imageclose($im); function imageCenterString(&$img, $font, $text, $color) { if($font < 0 || $font > 5){ $font = 0; } $num = array(array(4.6, 6), array(4.6, 6), array(5.6, 12), array(6.5, 12), array(7.6, 16), array(8.5, 16)); $width = ceil(strlen($text) * $num[$font][0]); $x = imagesx($img) - $width - 8; $y = Imagesy($img) - ($num[$font][1] + 2); imagestring($img, $font, $x/2, $y/2, $text, $color); } ?> Kildekode Lenke til kommentar
Snåsamannen Skrevet 20. oktober 2008 Forfatter Del Skrevet 20. oktober 2008 Beklager dårlig formidling av hva jeg er ute etter. Jeg vil selv bestemme hvor teksten på bildet skal ligget ved hjelp av X Y koordinater Altså, ingen sentrering Lenke til kommentar
Gjest Slettet+142 Skrevet 20. oktober 2008 Del Skrevet 20. oktober 2008 Men da burde jo imagestring funke fint da? header("Content-Type: image/png"); $im = imagecreatefrom("images/button1.png"); $color = imagecolorallocate($im, 220, 210, 60); $text = $_GET['text']; $y = 5; $x = 20; imagestring($im, 3, $x, $y, $text, $color); imagepng($im); imagedestroy($im); Utestet. Lenke til kommentar
Snåsamannen Skrevet 21. oktober 2008 Forfatter Del Skrevet 21. oktober 2008 Hmm, den koden ser ikke ut til å fungere, men takk for hjelpen. Vet du hva som muligens går galt? Lenke til kommentar
Gjest Slettet+142 Skrevet 21. oktober 2008 Del Skrevet 21. oktober 2008 Jau, sorry, liten glipp fra meg; glemte png i denne linjen: $im = imagecreatefrom("images/button1.png"); Ny da: <?php header("Content-Type: image/png"); $im = imagecreatefrompng("images/button1.png"); $color = imagecolorallocate($im, 220, 210, 60); $text = $_GET['text']; $y = 5; $x = 20; imagestring($im, 3, $x, $y, $text, $color); imagepng($im); imagedestroy($im); ?> Testet Lenke til kommentar
Snåsamannen Skrevet 21. oktober 2008 Forfatter Del Skrevet 21. oktober 2008 (endret) Takk for oppdatert kode. Desverre vil verken $x eller $y variablene fungere, de endrer ikke på noe Noen forslag? Edit: Beklager, min feil - Koden fungerer utmerket! Bare èn ting til! Hvordan kan jeg begrense en variables innhold. Altså, hvis innholdet stiger mer en 10 bokstaver så gjør de siste 3 bokstavene til "..." Endret 21. oktober 2008 av Big-Mama Lenke til kommentar
Harald B Skrevet 21. oktober 2008 Del Skrevet 21. oktober 2008 substr_replace() burde funke fint Lenke til kommentar
Snåsamannen Skrevet 22. oktober 2008 Forfatter Del Skrevet 22. oktober 2008 Takk Harald, fungerte utmerket den også Nå står jeg bare ovenfor et problem til, hehe Jeg skal nemlig ha flere variabler plassert på ulike koordinater, hvordan får jeg dette til? Lenke til kommentar
Jonas Skrevet 22. oktober 2008 Del Skrevet 22. oktober 2008 Kan du ikke bare bruke imagestring() flere ganger? Lenke til kommentar
Snåsamannen Skrevet 22. oktober 2008 Forfatter Del Skrevet 22. oktober 2008 Kan jeg trygle om et eksempel? Lenke til kommentar
Jonas Skrevet 24. oktober 2008 Del Skrevet 24. oktober 2008 (endret) <?php header("Content-Type: image/png"); $image = imagecreatefrompng("images/button1.png"); $color = imagecolorallocate($image, 220, 210, 60); imagestring($image, 3, 5, 5, 'This is a text', $color); imagestring($image, 3, 5, 25, 'This is another text', $color); imagestring($image, 3, 5, 45, 'This is another text', $color); imagestring($image, 3, 5, 65, 'This is another text', $color); imagepng($image); imagedestroy($image); ?> (Fullstendig utestet, tar forbehold om feil) Endret 24. oktober 2008 av Jonas Lenke til kommentar
Snåsamannen Skrevet 24. oktober 2008 Forfatter Del Skrevet 24. oktober 2008 Lykkelig over hjelpen! Dere har jo gjort alt for meg Men jeg kommer tilbake hvis koden er ustabil, okey? 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å