login  Naam:   Wachtwoord: 
Registreer je!
 Forum

GD foutje maar vind het niet

Offline DenMette - 06/04/2006 01:02
Avatar van DenMettePHP gevorderde
  1. <?php
  2. header("content-type: image/png");
  3.  
  4. if($_GET['ver']){
  5.  
  6. $maal100=3;//dit is het aantal keer dat de standaard breedte (die ik heb ingesteld op 100) moet vergroot worden
  7.  
  8. $hoogte=20;//hoogte voor de balk
  9. $breedte=100*$maal100;//dit is de breedte van de balk (standaard: 100; dat (als je je resultaten op 100 meegeeft met $_GET['ver']) je beter zo laat staan) maal het aantal keer groter dan 100 (die wordt ingesteld enkele regels hierboven)
  10.  
  11. $image = imagecreate($breedte+50, $hoogte+3); //deze waarden zijn de waarden van (!)héél de afbeelding! dus niet alleen het balkje; altijd een paar pixels (of wat zijn het?) bijtellen anders komt het niet goed uit (<- voor de hoogte); voor de breedte ongeveer 50 bijtellen want de tekst moet er ook nog bij
  12.  
  13. $bgcolor = imagecolorallocate($image, 213, 213, 213); //'is gelijk aan de bgcolor van de site'
  14. imagefill($image, 0, 0, $bgcolor);
  15.  
  16.  
  17. $grijs = imagecolorallocate($image, 102, 102, 102);
  18. $groen = imagecolorallocate($image, 132, 170, 132);
  19.  
  20.  
  21. $punt1[0] = 0;
  22. $punt1[1] = 0;
  23. $punt1[2] = $breedte+1; // +1 --> zo past de tweede balk - met de resultaten - er netjes in
  24. $punt1[3] = 0;
  25. $punt1[4] = $breedte+1; // +1 --> zo past de tweede balk - met de resultaten - er netjes in
  26. $punt1[5] = $hoogte;
  27. $punt1[6] = 0;
  28. $punt1[7] = $hoogte;
  29.  
  30. imagepolygon($image, $punt1, 4, $grijs);
  31. imageline($image,0,$hoogte/2,$breedte,$hoogte/2,$grijs);
  32.  
  33. $ver= $_GET['ver'] * $maal100;//dit is de breedte van de tweede polygen(veelhoek) (met de eigenlike procent): (verklaring:) die breedte moet natuurlijk ook aangepast worden aan de eerste balk, daarom vermenigvuldigen we hem met $maal100 dat ook bij de breedte van de eerste balk is gebeurd (zie boven)
  34.  
  35. $punt2[0] = 1;
  36. $punt2[1] = 1;
  37. $punt2[2] = $ver;
  38. $punt2[3] = 1;
  39. $punt2[4] = $ver;
  40. $punt2[5] = $hoogte-1; //altijd om een waarde minder omdat het rood dan mooi in de andere polygon(vierhoek) komt.
  41. $punt2[6] = 1;
  42. $punt2[7] = $hoogte-1;
  43.  
  44. imagefilledpolygon($image, $punt2, 4, $groen);
  45.  
  46. if($_GET['ver'] != 100){//om te voorkomen dat je een dubbele lijn krijgt op het einde van de balk wanneer het 100% aangeeft.
  47.  
  48. imageline($image,$ver,0,$ver,$hoogte,$grijs);
  49.  
  50. }
  51.  
  52. imagestring($image, 3, $breedte+5, 0, $_GET['ver']." %", $grijs);
  53.  
  54. imagefilter($image,IMG_FILTER_CONTRAST,5);
  55.  
  56. imagepng($image);
  57.  
  58. imagedestroy($image);
  59. }
  60. ?>

pagina naam = test1.php

roep de foto aan met
  1. <img src="test1.php?ver=100" alt="test" />


Maar het werkt niet.
Weet iemand mijn fout.

Script komt van SiteMaster zelf
http://www.site...amp;id=973

7 antwoorden

Gesponsorde links
Offline Gerard - 06/04/2006 01:36 (laatste wijziging 06/04/2006 01:36)
Avatar van Gerard Ouwe rakker Welke fout krijg je?
wat werkt er precies niet?
Offline Button - 06/04/2006 08:25 (laatste wijziging 06/04/2006 08:26)
Avatar van Button PHP ver gevorderde als het exact hetzelfde is beetje raar, want bij mij -op m'n site- werkt die nog altijd perfect ..
ben je er zeker van dat je hem juist aanroept, niets verandert (buiten de breedte of hoogte of de maal100)?
Offline Simon - 06/04/2006 09:58
Avatar van Simon PHP expert gebruik mss es if(isset($_GET['ver'])
Offline Button - 06/04/2006 10:03 (laatste wijziging 06/04/2006 10:03)
Avatar van Button PHP ver gevorderde jep, hij heeft gelijk, dit staat wel zo in mijn script?! 
Offline Simon - 06/04/2006 10:15
Avatar van Simon PHP expert als ik dat script lokaal test krijg ik (ongeveer)
Citaat:
Kan afbeelding test.php?ver=100 niet weergeven, omdat deze fouten bevat.
Offline Button - 06/04/2006 12:16
Avatar van Button PHP ver gevorderde
  1. <?php
  2. header("content-type: image/png");
  3.  
  4. if(isset($_GET['ver'])){
  5.  
  6. $maal100=3;//dit is het aantal keer dat de standaard breedte (die ik heb ingesteld op 100) moet vergroot worden
  7.  
  8. $hoogte=10;//hoogte voor de balk
  9. $breedte=100*$maal100;//dit is de breedte van de balk (standaard: 100; dat (als je je resultaten op 100 meegeeft met $_GET['ver']) je beter zo laat staan) maal het aantal keer groter dan 100 (die wordt ingesteld enkele regels hierboven)
  10.  
  11. $image = imagecreate($breedte+50, $hoogte+3); //deze waarden zijn de waarden van (!)héél de afbeelding! dus niet alleen het balkje; altijd een paar pixels (of wat zijn het?) bijtellen anders komt het niet goed uit (<- voor de hoogte); voor de breedte ongeveer 50 bijtellen want de tekst moet er ook nog bij
  12.  
  13. $bgcolor = imagecolorallocate($image, 211, 211, 211); //'is gelijk aan de bgcolor van de site'
  14. imagefill($image, 0, 0, $bgcolor);
  15.  
  16.  
  17. $grijs = imagecolorallocate($image, 102, 102, 102);
  18. $groen = imagecolorallocate($image, 132, 170, 132);
  19.  
  20.  
  21. $punt1[0] = 0;
  22. $punt1[1] = 0;
  23. $punt1[2] = $breedte+1; // +1 --> zo past de tweede balk - met de resultaten - er netjes in
  24. $punt1[3] = 0;
  25. $punt1[4] = $breedte+1; // +1 --> zo past de tweede balk - met de resultaten - er netjes in
  26. $punt1[5] = $hoogte;
  27. $punt1[6] = 0;
  28. $punt1[7] = $hoogte;
  29.  
  30. imagepolygon($image, $punt1, 4, $grijs);
  31. imageline($image,0,$hoogte/2,$breedte,$hoogte/2,$grijs);
  32.  
  33. $ver=$_GET['ver']*$maal100;//dit is de breedte van de tweede polygen(veelhoek) (met de eigenlike procent): (verklaring:) die breedte moet natuurlijk ook aangepast worden aan de eerste balk, daarom vermenigvuldigen we hem met $maal100 dat ook bij de breedte van de eerste balk is gebeurd (zie boven)
  34.  
  35. $punt2[0] = 1;
  36. $punt2[1] = 1;
  37. $punt2[2] = $ver;
  38. $punt2[3] = 1;
  39. $punt2[4] = $ver;
  40. $punt2[5] = $hoogte-1; //altijd om een waarde minder omdat het rood dan mooi in de andere polygon(vierhoek) komt.
  41. $punt2[6] = 1;
  42. $punt2[7] = $hoogte-1;
  43.  
  44. imagefilledpolygon($image, $punt2, 4, $groen);
  45.  
  46. if($_GET['ver']!=100){//om te voorkomen dat je een dubbele lijn krijgt op het einde van de balk wanneer het 100% aangeeft.
  47.  
  48. imageline($image,$ver,0,$ver,$hoogte,$grijs);
  49.  
  50. }
  51.  
  52. imagestring($image, 3, $breedte+5, 0, $_GET['ver']." %", $grijs);
  53.  
  54. imagefilter($image,IMG_FILTER_CONTRAST,5);
  55.  
  56. imagepng($image);
  57.  
  58. imagedestroy($image);
  59. }
  60. ?>

probeer die eens, dat is die ik gebruik en WEL werkt, ook al denk ik niet dat die veel verschilt;-)
Offline Maarten - 06/04/2006 12:20
Avatar van Maarten Erelid Haal die header weg bovenaan, zet error_reporting(E_ALL); erboven, fix die fouten die je dan ziet als je naar die afbeelding surft, en zet dan die header terug.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.252s