Vraag & Antwoord

Webprogrammeren & scripting

Plaatje maken met PHP

5 antwoorden
  • Hallo, Ik probeer een plaatje te maken met PHP. het plaatje zelf lijkt wel goed te gaan, ik kan het saven als file. Het probleem is dat er niets in de browser is te zien. [code:1:8764dc9391] <?php // filename: create_image.php $im = ImageCreate(200,50); $back_color = ImageColorAllocate($im,255, 255,255); $text_color = ImageColorAllocate($im,200,0,0); ImageString($im,4,10,16, "Image Test www.wimb.net", $text_color); Header("Content-type: image/png"); ImagePNG($im,"image.png"). // save to file = OK imagepng($im); imagedestroy($im); ?> [/code:1:8764dc9391] Deze code wordt aangeroepen met: [code:1:8764dc9391] <html> <head> <title>PHP Image Test</title> </head> <body> <img src="create_image.php" /> </body> </html> [/code:1:8764dc9391] Dit maakt dus een goed plaatje op disk, maar zet niets op het scherm. Wie helpt? wimb
  • http://nl2.php.net/imagepng Het lijkt eropt dat als je geen filename opgeeft, dat dan het plaatje wordt ge-outputted naar de browser, anders wordt het naar een file geoutputted. Heb je het al eens zonder filename geprobeerd? Met dit: http://www.php.net/manual/en/ref.outcontrol.php schijn je dan beide te kunnen doen: je kunt dan de output die naar de browser gaat afvangen, en gebruiken om dat ook op te slaan als een file.
  • Ergens heel diep uit m'n geheugen: zet voor die outputstring-name een lege string. ImagePNG($im,"image.png"). // save to file = OK ImagePNG($im,""); Let ook op de hoofdletters, mijn ervaring is (maar dit kan uiteraard ergens een instelling zijn) dat php daar wel gevoelig voor is.
  • Dit heb ik een keer gebakken. Hij leest een regel in uit een tekstbestand en zet dat in een plaatje. Was als sig op een forum. Iedere keer een andere tekst. [code:1:00b0587e3c]<?php header ("Content-type: image/png"); $im = @imagecreate (535, 35) or die ("Cannot Initialize new GD image stream"); $wit = imagecolorallocate ($im, 255, 255, 255); $zwart = imagecolorallocate ($im, 0, 0, 0); $trans = imagecolortransparent($im, $wit); $blaat = @file("sig.txt"); $line = count($blaat) - 1; $lala = rand(0,$line); function ImageStringWrap($image, $font, $x, $y, $text, $color, $maxwidth) { $fontwidth = ImageFontWidth($font); $fontheight = ImageFontHeight($font); if ($maxwidth != NULL) { $maxcharsperline = floor($maxwidth / $fontwidth); $text = wordwrap($text, $maxcharsperline, "\n", 1); } $lines = explode("\n", $text); while (list($numl, $line) = each($lines)) { imageString($image, $font, $x, $y, $line, $color); $y += $fontheight; } } ImageStringWrap($im, 2, 8, 5, $blaat[$lala], $zwart, 535); imagepng ($im); imagedestroy($im); ?>[/code:1:00b0587e3c]
  • Het werkt, ik heb [url=http://www.phpbuilder.com/columns/rasmus19990124.php3]hier[/url] wat gevonden. Ik had dus een lege regel boven de php start tag, en dan werk het niet goed. Het vreemde is dat het plaatje wel goed gesaved kon worden. wimb

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.