login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost]Text op een afbeelding (watermerk)

Offline Duikboot - 07/05/2005 16:28 (laatste wijziging 07/05/2005 18:01)
Avatar van DuikbootGrafische gevorderde Ik heb hier in de tutorials de tuts over de gb library gezet. Volgens de tut en commentaar daarop kon je op de volgende manier text op een bestaande afbeelding plaatsen. Maar ipv een afbeelding, krijg ik allemaal leuke tekentjes etc. te zien. Probeer maar eens een jpg afbeelding met kladblok te openen, dan snap je wat ik bedoel.

  1. <?php
  2. header("content-type: image/png");
  3. $image = ImageCreatefromPNG("plaatje.png");
  4.  
  5.  
  6. //De grootte van ons lettertype
  7. $grootte = 5;
  8. //Tekst die we op ons plaatje willen.
  9. $tekst = "MovieDimension.NL";
  10. //Tekstkleur
  11. $kleur = ImageColorAllocate($image, 255, 0, 0); //255, 0, 0 = Rood
  12. //Het font selecteren, VERGEET DEZE NIET TE UPLOADEN !
  13. $font = 'verdana.TTF';
  14. //De functie word onder het voorbeeld uitgelegd!
  15. ImageTTFText($image, $grootte, 3, 20, 25, $kleur, $font, $tekst);
  16. //Het plaatje aanmaken.
  17.  
  18.  
  19.  
  20.  
  21. ImagePng($image);
  22.  
  23.  
  24. //Het plaatje verwijderen uit het geheugen
  25. ImageDestroy($image);
  26. ?>


http://scripts.moviedimension.nl/makeimg.php

Dat zou ipv die tekens, een afbeelding moeten zijn. Wie weet wat ik fout doe?

15 antwoorden

Gesponsorde links
Offline Gerard - 07/05/2005 16:29
Avatar van Gerard Ouwe rakker je stuurt geen header mee dat het een img wordt? 
Offline Duikboot - 07/05/2005 16:31 (laatste wijziging 07/05/2005 16:35)
Avatar van Duikboot Grafische gevorderde ik heb daar even // voor gezet om er commentaar van te maken, maar zonder die // dan krijg ik een error (ik zal even die // weghalen om de error te kunnen geven)

Warning: Cannot modify header information - headers already sent by (output started at /home/scripts/public_html/makeimg.php:2) in /home/scripts/public_html/makeimg.php on line 3

Dat was em (wanneer ik de header uit het commentaar heb gehaald)
Offline Legolas - 07/05/2005 16:39
Avatar van Legolas Onbekend nou dan zet je dus ob_start(); boven je image?
Offline Duikboot - 07/05/2005 17:00
Avatar van Duikboot Grafische gevorderde en dan heb ik nog geen plaatje, maar nogsteeds die verzameling leuke tekentjes. En zonder error heb ik dan geen idee wat er fout is...
Offline Shifty - 07/05/2005 17:08 (laatste wijziging 07/05/2005 17:09)
Avatar van Shifty Onbekend De functie ImageTTFText() vereist zowel de GD library als de Freetype library. Deze laatste zorgt ervoor dat je je eigen lettertypes naast de standaard ingebouwde lettertypes van de GD library kan gebruiken. Controleer dus of deze lib geïnstalleerd is en uiteraard of je font geüpload is en de verwijzing correct is.


Offline Duikboot - 07/05/2005 17:12 (laatste wijziging 07/05/2005 17:14)
Avatar van Duikboot Grafische gevorderde met phpinfo() checken of die erop staat?

edit:
GD Support enabled
GD Version bundled (2.0.12 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

als het goed is staat die erop...
Offline Shifty - 07/05/2005 17:17
Avatar van Shifty Onbekend
  1. $tekst = MovieDimension.NL;

Ik stel voor dat je toch wel quotes rond je string zit, niet?
Offline ikkedikke - 07/05/2005 17:18
Avatar van ikkedikke PHP expert wat staat er op lijn 2 van je code precies?
die error zegt dat er voor lijn 5 output is geweest, en dat die begon op lijn 2...
Offline Duikboot - 07/05/2005 17:34 (laatste wijziging 07/05/2005 17:36)
Avatar van Duikboot Grafische gevorderde Line 2 is de header (ik heb de code in het topic ook even bijgewerkt). Output voor line 5? Die is leeg...
Offline Legolas - 07/05/2005 17:41 (laatste wijziging 07/05/2005 17:41)
Avatar van Legolas Onbekend @Duikboot:
hij doet het nu toch? tenminste in voorbeeld wel
dus er is nu niks meer fout. wat was er dan fout?
(kdenk dat met die aanhalingstekens)
Offline Duikboot - 07/05/2005 17:43 (laatste wijziging 07/05/2005 17:54)
Avatar van Duikboot Grafische gevorderde euh.... om de een of andere reden werkt het dingetje nu wel, waarschijnlijk de double quotes... thx!

EDIT: En als ik dat dan met JPG afbeeldingen wil doen, moet ik dan gewoon bij alles waar png staat, jpg neerzetten?
Offline Legolas - 07/05/2005 17:58 (laatste wijziging 07/05/2005 18:01)
Avatar van Legolas Onbekend kdacht idd ImageCreateFromJpeg() ofzow
edit: ja dat klopt php.net zegt het ook zow
en header moet worden:
header("content-type: image/jpeg"); dacht ik
Offline Duikboot - 07/05/2005 18:00
Avatar van Duikboot Grafische gevorderde ik heb het ondertussen gevonden, thx.

Klopt legolas, en in de header moet image/pjpeg komen ipv image/png.
Offline Legolas - 07/05/2005 18:02 (laatste wijziging 07/05/2005 18:02)
Avatar van Legolas Onbekend @Duikboot:
idd, maar zonder p in die header. dan gaat ie flippe 
Offline Duikboot - 07/05/2005 18:12
Avatar van Duikboot Grafische gevorderde <?
header("content-type: image/pjpeg");
?>

Juist met! Probeer maar eens:

  1. <?php
  2. header("content-type: image/pjpeg");
  3. // plaatjes
  4. $image1 = "http://members.lycos.nl/crystalgoten/landofthedead.jpg";
  5. $image2 = "../img/posters/tcm.jpg";
  6.  
  7. $image = ImageCreatefromjpeg("$image1");
  8.  
  9.  
  10. //De grootte van ons lettertype
  11. $grootte = 35;
  12. //Tekst die we op ons plaatje willen.
  13. $tekst = "MovieDimension.NL";
  14. //Tekstkleur
  15. $kleur = ImageColorAllocate($image, 255, 0, 0); //255, 0, 0 = Rood
  16.  
  17.  
  18. //De functie word onder het voorbeeld uitgelegd!
  19. ImageString($image, $grootte, 5, 25, $tekst, $kleur);
  20. //Het plaatje aanmaken.
  21.  
  22.  
  23.  
  24.  
  25. Imagejpeg($image);
  26.  
  27.  
  28. //Het plaatje verwijderen uit het geheugen
  29. ImageDestroy($image);
  30. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s