Lid |
|
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:
imageline($img, 250+28, 0, 250+28, 500, $zwart);
imageline($img, 250+56, 0, 250+56, 500, $zwart);
imageline($img, 250+84, 0, 250+84, 500, $zwart);
imageline($img, 250+112, 0, 250+112, 500, $zwart);
imageline($img, 250+140, 0, 250+140, 500, $zwart);
imageline($img, 250+168, 0, 250+168, 500, $zwart);
imageline($img, 250+196, 0, 250+196, 500, $zwart);
imageline($img, 250+224, 0, 250+224, 500, $zwart);
imageline($img, 250+252, 0, 250+252, 500, $zwart);
imageline($img, 250-28, 0, 250-28, 500, $zwart);
imageline($img, 250-56, 0, 250-56, 500, $zwart);
imageline($img, 250-84, 0, 250-84, 500, $zwart);
imageline($img, 250-112, 0, 250-112, 500, $zwart);
imageline($img, 250-140, 0, 250-140, 500, $zwart);
imageline($img, 250-168, 0, 250-168, 500, $zwart);
imageline($img, 250-196, 0, 250-196, 500, $zwart);
imageline($img, 250-224, 0, 250-224, 500, $zwart);
imageline($img, 250-252, 0, 250-252, 500, $zwart);
imageline($img, 0, 250+28, 500, 250+28, $zwart);
imageline($img, 0, 250+56, 500, 250+56, $zwart);
imageline($img, 0, 250+84, 500, 250+84, $zwart);
imageline($img, 0, 250+112, 500, 250+112, $zwart);
imageline($img, 0, 250+140, 500, 250+140, $zwart);
imageline($img, 0, 250+168, 500, 250+168, $zwart);
imageline($img, 0, 250+196, 500, 250+196, $zwart);
imageline($img, 0, 250+224, 500, 250+224, $zwart);
imageline($img, 0, 250+252, 500, 250+252, $zwart);
imageline($img, 0, 250-28, 500, 250-28, $zwart);
imageline($img, 0, 250-56, 500, 250-56, $zwart);
imageline($img, 0, 250-84, 500, 250-84, $zwart);
imageline($img, 0, 250-112, 500, 250-112, $zwart);
imageline($img, 0, 250-140, 500, 250-140, $zwart);
imageline($img, 0, 250-168, 500, 250-168, $zwart);
imageline($img, 0, 250-196, 500, 250-196, $zwart);
imageline($img, 0, 250-224, 500, 250-224, $zwart);
imageline($img, 0, 250-252, 500, 250-252, $zwart);
imageline($img, 250+28, 0, 250+28, 500, $zwart); imageline($img, 250+56, 0, 250+56, 500, $zwart); imageline($img, 250+84, 0, 250+84, 500, $zwart); imageline($img, 250+112, 0, 250+112, 500, $zwart); imageline($img, 250+140, 0, 250+140, 500, $zwart); imageline($img, 250+168, 0, 250+168, 500, $zwart); imageline($img, 250+196, 0, 250+196, 500, $zwart); imageline($img, 250+224, 0, 250+224, 500, $zwart); imageline($img, 250+252, 0, 250+252, 500, $zwart); imageline($img, 250-28, 0, 250-28, 500, $zwart); imageline($img, 250-56, 0, 250-56, 500, $zwart); imageline($img, 250-84, 0, 250-84, 500, $zwart); imageline($img, 250-112, 0, 250-112, 500, $zwart); imageline($img, 250-140, 0, 250-140, 500, $zwart); imageline($img, 250-168, 0, 250-168, 500, $zwart); imageline($img, 250-196, 0, 250-196, 500, $zwart); imageline($img, 250-224, 0, 250-224, 500, $zwart); imageline($img, 250-252, 0, 250-252, 500, $zwart); imageline($img, 0, 250+28, 500, 250+28, $zwart); imageline($img, 0, 250+56, 500, 250+56, $zwart); imageline($img, 0, 250+84, 500, 250+84, $zwart); imageline($img, 0, 250+112, 500, 250+112, $zwart); imageline($img, 0, 250+140, 500, 250+140, $zwart); imageline($img, 0, 250+168, 500, 250+168, $zwart); imageline($img, 0, 250+196, 500, 250+196, $zwart); imageline($img, 0, 250+224, 500, 250+224, $zwart); imageline($img, 0, 250+252, 500, 250+252, $zwart); imageline($img, 0, 250-28, 500, 250-28, $zwart); imageline($img, 0, 250-56, 500, 250-56, $zwart); imageline($img, 0, 250-84, 500, 250-84, $zwart); imageline($img, 0, 250-112, 500, 250-112, $zwart); imageline($img, 0, 250-140, 500, 250-140, $zwart); imageline($img, 0, 250-168, 500, 250-168, $zwart); imageline($img, 0, 250-196, 500, 250-196, $zwart); imageline($img, 0, 250-224, 500, 250-224, $zwart); imageline($img, 0, 250-252, 500, 250-252, $zwart);
en dan de loop die ik ervoor had gemaakt:
for($i = 28; $i <= 252; $i+28)
{
imageline($img, 250+$i, 0, 250+$i, 500, $zwart);
imageline($img, 250-$i, 0, 250-$i, 500, $zwart);
imageline($img, 0, 250+$i, 500, 250+$i, $zwart);
imageline($img, 0, 250-$i, 500, 250-$i, $zwart);
}
for($i = 28; $i <= 252; $i+28) { imageline($img, 250+$i, 0, 250+$i, 500, $zwart); imageline($img, 250-$i, 0, 250-$i, 500, $zwart); imageline($img, 0, 250+$i, 500, 250+$i, $zwart); imageline($img, 0, 250-$i, 500, 250-$i, $zwart); }
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
|