login  Naam:   Wachtwoord: 
Registreer je!
 Forum

loop doet het niet, manueel wel (Opgelost)

Offline anton - 25/05/2010 18:58
Avatar van antonLid hallo allen,

ik was bezig aan wat code met GD.
Ik kwam aan een stuk wara ik om de 28px een lijn moest hebben, vertrekkend van het midden, als ik dit volledig manueel doe, neemt het veel plaats in maar werkt het wel, ik weet dat dit ook met een loop kan, het probleem is dat met die loop de maximum execution time wordt overschreden.

ik zal even tonen wat ik manueel doe en daarna de loop die ik ervoor gemaakt had , die niet werkte:

manueel:
  1. imageline($img, 250+28, 0, 250+28, 500, $zwart);
  2. imageline($img, 250+56, 0, 250+56, 500, $zwart);
  3. imageline($img, 250+84, 0, 250+84, 500, $zwart);
  4. imageline($img, 250+112, 0, 250+112, 500, $zwart);
  5. imageline($img, 250+140, 0, 250+140, 500, $zwart);
  6. imageline($img, 250+168, 0, 250+168, 500, $zwart);
  7. imageline($img, 250+196, 0, 250+196, 500, $zwart);
  8. imageline($img, 250+224, 0, 250+224, 500, $zwart);
  9. imageline($img, 250+252, 0, 250+252, 500, $zwart);
  10.  
  11. imageline($img, 250-28, 0, 250-28, 500, $zwart);
  12. imageline($img, 250-56, 0, 250-56, 500, $zwart);
  13. imageline($img, 250-84, 0, 250-84, 500, $zwart);
  14. imageline($img, 250-112, 0, 250-112, 500, $zwart);
  15. imageline($img, 250-140, 0, 250-140, 500, $zwart);
  16. imageline($img, 250-168, 0, 250-168, 500, $zwart);
  17. imageline($img, 250-196, 0, 250-196, 500, $zwart);
  18. imageline($img, 250-224, 0, 250-224, 500, $zwart);
  19. imageline($img, 250-252, 0, 250-252, 500, $zwart);
  20.  
  21. imageline($img, 0, 250+28, 500, 250+28, $zwart);
  22. imageline($img, 0, 250+56, 500, 250+56, $zwart);
  23. imageline($img, 0, 250+84, 500, 250+84, $zwart);
  24. imageline($img, 0, 250+112, 500, 250+112, $zwart);
  25. imageline($img, 0, 250+140, 500, 250+140, $zwart);
  26. imageline($img, 0, 250+168, 500, 250+168, $zwart);
  27. imageline($img, 0, 250+196, 500, 250+196, $zwart);
  28. imageline($img, 0, 250+224, 500, 250+224, $zwart);
  29. imageline($img, 0, 250+252, 500, 250+252, $zwart);
  30.  
  31. imageline($img, 0, 250-28, 500, 250-28, $zwart);
  32. imageline($img, 0, 250-56, 500, 250-56, $zwart);
  33. imageline($img, 0, 250-84, 500, 250-84, $zwart);
  34. imageline($img, 0, 250-112, 500, 250-112, $zwart);
  35. imageline($img, 0, 250-140, 500, 250-140, $zwart);
  36. imageline($img, 0, 250-168, 500, 250-168, $zwart);
  37. imageline($img, 0, 250-196, 500, 250-196, $zwart);
  38. imageline($img, 0, 250-224, 500, 250-224, $zwart);
  39. imageline($img, 0, 250-252, 500, 250-252, $zwart);


en dan de loop die ik ervoor had gemaakt:
  1. for($i = 28; $i <= 252; $i+28)
  2. {
  3. imageline($img, 250+$i, 0, 250+$i, 500, $zwart);
  4. imageline($img, 250-$i, 0, 250-$i, 500, $zwart);
  5. imageline($img, 0, 250+$i, 500, 250+$i, $zwart);
  6. imageline($img, 0, 250-$i, 500, 250-$i, $zwart);
  7. }


dit zou allebei een volledig raster moeten creëeren maar de loop doet dat dus niet.

Het gaat om de lus, dus ook zonder kennis van GD kan je dit probleem eventueel oplossen, toch zal ik nog even de syntax van de functie imageline() uitleggen.

imageline(source image, int x1, int y1, int x2, int y2, string color);

alvast bedankt

MVG
Anton

1 antwoord

Gesponsorde links
Offline Jelmerholland - 25/05/2010 19:24 (laatste wijziging 25/05/2010 19:25)
Avatar van Jelmerholland PHP beginner Probeer is: $i = $i + 28

Dus:

  1. for($i = 28; $i <= 252; $i = $i + 28)
  2. {
  3. imageline($img, 250+$i, 0, 250+$i, 500, $zwart);
  4. imageline($img, 250-$i, 0, 250-$i, 500, $zwart);
  5. imageline($img, 0, 250+$i, 500, 250+$i, $zwart);
  6. imageline($img, 0, 250-$i, 500, 250-$i, $zwart);
  7. }
Bedankt door: anton
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s