login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Image generator

Offline svm - 02/08/2006 18:48 (laatste wijziging 02/08/2006 21:54)
Avatar van svmPHP ver gevorderde Ik ben met een script bezig waarmee je gemakkelijk een GD afbeelding kunt maken, zelfs als je geen verstand hebt van HTML of PHP.
Maar nu heb ik een probleem:
Als ik de afbeelding maak komt er iets te staan als: ‰PNG  IHDRÂ,j˜!ô.
Weten jullie hoe dit komt?
En hoe los ik dit op?
De code:
  1. // formulier
  2. <form action="" method="post">
  3. Breedte: <input type="text" name="breedte" /><br />
  4. Lengte: <input type="text" name="lengte" /><p />
  5. Rood (0 tot 255): <input type="text" name="rood" /><br />
  6. Groen (0 tot 255): <input type="text" name="groen" /><br />
  7. Blauw (0 tot 255): <input type="text" name="blauw" /><p />
  8.  
  9. <input type="submit" name="submit" value="Creeër" />
  10. </form>
  11.  
  12. // verwerking
  13. <?php
  14. header("content-type: image/png");
  15. $afbeelding = ImageCreate($_POST['breedte'], $_POST['lengte']);
  16. $achtergrond = ImageColorAllocate($image, $_POST['rood'], $_POST['groen'], $_POST['blauw']);
  17.  
  18. ImagePng($afbeelding);
  19. ImageDestroy($afbeelding);
  20. ?>

12 antwoorden

Gesponsorde links
Offline Maarten - 02/08/2006 18:52
Avatar van Maarten Erelid <form action="" method="post">

Moet die action dan niet naar de verwerking verwijzen...
Offline svm - 02/08/2006 18:55 (laatste wijziging 02/08/2006 18:56)
Avatar van svm PHP ver gevorderde Die verwerking staat op dezelfde pagina.
Dan hoef je er toch niks in te zetten?

Edit:
Heb aangepast, maar werkt niet.
Offline Tim2 - 02/08/2006 19:05
Avatar van Tim2 PHP interesse je verzend eerst data, html en dan krijg je header("content-type: image/png");

dat gaat niet. Goede code:
  1. <!-- index.php --><form action="doe.php" method="post">
  2. Breedte: <input type="text" name="breedte" /><br />
  3. Lengte: <input type="text" name="lengte" /><p />
  4. Rood (0 tot 255): <input type="text" name="rood" /><br />
  5. Groen (0 tot 255): <input type="text" name="groen" /><br />
  6. Blauw (0 tot 255): <input type="text" name="blauw" /><p />
  7.  
  8. <input type="submit" name="submit" value="Creeër" />
  9. </form>

en
  1. <?php
  2. // Dit is doe.php
  3. header("content-type: image/png");
  4. $afbeelding = ImageCreate($_POST['breedte'], $_POST['lengte']);
  5. $achtergrond = ImageColorAllocate($image, $_POST['rood'], $_POST['groen'], $_POST['blauw']);
  6.  
  7. ImagePng($afbeelding);
  8. ImageDestroy($afbeelding);
  9. ?>
Offline svm - 02/08/2006 19:10 (laatste wijziging 02/08/2006 19:10)
Avatar van svm PHP ver gevorderde Bedankt, maar dit werkt ook niet goed.
Probeer maar eens.
Offline Maarten - 02/08/2006 19:45 (laatste wijziging 02/08/2006 19:45)
Avatar van Maarten Erelid Comment even die header() in doe.php, dan komen de foutmeldingen erop.

  1. $achtergrond = ImageColorAllocate($image, $_POST['rood'], $_POST['groen'], $_POST['blauw']);
Die $image moet $afbeelding zijn IMO?
Offline svm - 02/08/2006 19:48 (laatste wijziging 02/08/2006 21:55)
Avatar van svm PHP ver gevorderde He, das een slim idee...
Hij werkt nu.

Maar hoe kan ik die pagina's nu in één pagina zetten?
Want als ik dat doet geeft hij weer die rare tekens (‰PNG  IHDRÂ,j˜!ô).

Edit:
Heb ik al een oplossing voor, met een iframe waar hij in geladen wordt:
Form-tage bevat target="frame".
En iframe de naam frame.


En nu probeem 2:

Er zit een parse error in regel 6:
  1. <?php
  2. // Dit is doe.php
  3. header("content-type: image/png");
  4. $afbeelding = ImageCreate($_POST['breedte'], $_POST['lengte']);
  5. $achtergrond = ImageColorAllocate($afbeelding, $_POST['rood1'], $_POST['groen1'], $_POST['blauw1']);
  6. $tekst-kleur = ImageColorAllocate($afbeelding, $_POST['rood2'], $_POST['groen2'], $_POST['blauw2']);
  7.  
  8. ImageString($afbeelding, $_POST['tekst-groot'], $_POST['txt-x'], $_POST['txt-y'], $_POST['txt-tekst'], $tekst-kleur);
  9. ImagePng($afbeelding);
  10. ImageDestroy($afbeelding);
  11. ?>


Zien jullie hem?
Die 'variabelen' (hoe ze hier ook mogen heten) worden wel verzonden.
Offline vinTage - 02/08/2006 22:07
Avatar van vinTage Nieuw lid $tekst-kleur

tekst min kleur ?
ik denk dat het $tekst_kleur oid moet zijn.
Offline svm - 02/08/2006 22:11 (laatste wijziging 02/08/2006 22:43)
Avatar van svm PHP ver gevorderde Oh, ja: - staat voor min.
Ik bedoelde het gewoon als streepje, daarom zag ik het ook niet.
Bedankt vinTage!

En weer iets:
Het is geen echt probleem maar gewoon een extratje om problemen te voorkomen.
Hoe maak je een text input zo, dat er alleen cijfers in kunnen?
Het liefst een html of js-je, zo kort mogelijk.
Offline vinTage - 02/08/2006 22:45
Avatar van vinTage Nieuw lid http://www.site...mp;id=1027
Offline svm - 02/08/2006 22:48
Avatar van svm PHP ver gevorderde Bedankt, maar hier kun je gewoon tekst in typen, als je maar op ok klikt.
Ik wil het graag zo hebben dat als je op een letter-toets drukt, dat er niks gebeurd.
Op een cijfer, dan komt het cijfer er wel in.
Offline vinTage - 02/08/2006 22:49
Avatar van vinTage Nieuw lid http://www.felgall.com/jstip44.htm
ofzo
Offline svm - 02/08/2006 22:57 (laatste wijziging 02/08/2006 23:15)
Avatar van svm PHP ver gevorderde Oke, zal het proberen.
Hoop dat het me lukt, ben niet zo goed in Engels en JS.^^

Edit:
Gelukt.
Bedankt!

@Crew:
Nog niet sluiten!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s