patawic Posted November 6, 2010 Share Posted November 6, 2010 Im trying to make a script that draws the track for a game that i in development, Im stuck on something though. For some reason my script is drawing lines from 0,0 to the x,y of the start position to the x,y of the end position. I have no idea why. Here is the script <?php header ("Content-type: image/png"); $im = ImageCreate (700, 400); $background = ImageColorAllocate ($im, 255, 255, 255); $line = ImageColorAllocate ($im, 0, 0, 0); $trackcode = file_get_contents('test.txt'); $type = split("#", $trackcode); $line = split(",", $type[0]); $sline = split(",", $type[1]); for($i=0; $i<count($line); $i++) { $section = split(" ", $line[$i]); for($j=0; $j<count($section); $j+=2) { $startx = base_convert($section[$j],32,10); $starty = base_convert($section[$j+1],32,10); $endx = base_convert($section[$j+2],32,10); $endy = base_convert($section[$j+3],32,10); //echo "startx: $startx | starty: $starty | endx: $endx | endy: $endy <br>"; imageline ($im,$startx,$starty,$endx,$endy,$line); } } ImagePng ($im); ImageDestroy ($im); ?> You can echo the data if you want to see the raw coordinates. You will need to make a file called test.txt and put this in it for it to work 42 1i 5u a,8e a 8e -a 8e -u 8e -1i 92 -18 92 0 9m a aa 0 au -a au a,8e -1i 9m -26 au -1i aa -18 9m -1i 92 -18,6i a 84 a,b8 -a b8 a cg u d4 k do u do a do -a do -u cg -1i bs -18,do -u d4 -k bs -18,b8 -a bs -k bs 0 cg a d4 0 d4 -k,e2 k e2 -1i em -18,e2 -u em -k em u,fa -u fu -k gi -u fa -1i em -18,fu -k fu k fu u,gi k gi -u,fa -u em -k,6i a 5u a,gs -u gs 0 gs a i4 u jc a jc -u,gs -18 gs -u,gs -18 hg -1i hg 0 gs a,hg 0 i4 a io 0 jc a,io 0 io -1i jc -18 jc -u,jm a ku u li k m6 u m6 a,jm a jm -a ka -k ka 0 ku a li 0 li -k m6 -u m6 a,li -k ka -18 ku -1i m6 -u,mg a no u p0 a p0 -a oc -k no -u,oc -k p0 -u no -1i no -18 no -a,mg a n4 0 no a oc 0 no -a,qi a qi k r6 u r6 0 t2 u t2 a se 0 t2 -a,qi a qi -a,qi -1i qi 0,qi -1i rq -26 t2 -1i t2 -u t2 -a,r6 -18 rq -1i se -18 t2 -1i,se -18 se -k rq -a r6 -k r6 -18,qi -1i r6 -18,tc k u0 u,tc k tc 0 tc -18 u0 -1i u0 u,ua a vi u 10q a 10q -k 10q -1s 106 -26 106 -1i,ua a ua -a ua -u uu -k uu 0 vi a 106 0 106 -k 10q -u,ua -u vi -1i 106 -18 106 -1i,106 -k vi -u uu -k,114 a 12c u 130 k 11o 0 11o -a,114 a 114 -a 114 -u 12c -1i 13k -u 130 -k 130 -a 130 0 13k -a 13k -u,130 -k 12c -u 11o -k 114 -u,11o -k 11o -a,13u k 13u -u 13u -18 14i -1i 14i 0,13u k 14i u 14i 0,17m a 19i 1i 1es 1i 3d2 1i,pa a q8 a,8e a 9m u au a,e2 k em u,gi k fu u,42 1i -1mm 1i,17m a 14s a#9m -1i 9m -a aa 0,9m -a 92 0,bs 0 cg -a cg -u,cg -a d4 0,bs -k cg -u,em -k fa -a fa a fu 0,fa -a fu -k,em 0 fa a,hg 0 i4 -a io 0,hg -k i4 -u i4 -a,i4 -u io -k,ka 0 ku -a li 0,ku -a ku -u,ka -k ku -u,no -1i mg -u mg -a n4 0,mg -u no -a,no -u n4 -k,r6 -18 rq -u rq -a,rq -u se -18,tc -18 tc -1s u0 -1i,uu 0 vi -a vi -u,vi -a 106 0,11o -k 12c -a 12c a,12c -a 130 -k,130 0 12c a,14i -1i 156 -18 156 -k 14i -u# I have no idea why it isnt working properly, any help will be greatly appreciated. Quote Link to comment https://forums.phpfreaks.com/topic/217914-drawn-lines-starting-at-00-for-unknown-reasons/ Share on other sites More sharing options...
mikecampbell Posted November 6, 2010 Share Posted November 6, 2010 I see a couple of problems. 1. you're clobbering your color variable 2. array out of bound errors (leading to the 0,0 end coords) I'm not sure what the image is supposed to look like, but this is better I think. $im = ImageCreate (700, 400); $background = ImageColorAllocate ($im, 255, 255, 255); $color = ImageColorAllocate ($im, 0, 0, 0); $trackcode = "42 1i 5u a,8e a 8e -a 8e -u 8e -1i 92 -18 92 0 9m a aa 0 au -a au a,8e -1i 9m -26 au -1i aa -18 9m -1i 92 -18,6i a 84 a,b8 -a b8 a cg u d4 k do u do a do -a do -u cg -1i bs -18,do -u d4 -k bs -18,b8 -a bs -k bs 0 cg a d4 0 d4 -k,e2 k e2 -1i em -18,e2 -u em -k em u,fa -u fu -k gi -u fa -1i em -18,fu -k fu k fu u,gi k gi -u,fa -u em -k,6i a 5u a,gs -u gs 0 gs a i4 u jc a jc -u,gs -18 gs -u,gs -18 hg -1i hg 0 gs a,hg 0 i4 a io 0 jc a,io 0 io -1i jc -18 jc -u,jm a ku u li k m6 u m6 a,jm a jm -a ka -k ka 0 ku a li 0 li -k m6 -u m6 a,li -k ka -18 ku -1i m6 -u,mg a no u p0 a p0 -a oc -k no -u,oc -k p0 -u no -1i no -18 no -a,mg a n4 0 no a oc 0 no -a,qi a qi k r6 u r6 0 t2 u t2 a se 0 t2 -a,qi a qi -a,qi -1i qi 0,qi -1i rq -26 t2 -1i t2 -u t2 -a,r6 -18 rq -1i se -18 t2 -1i,se -18 se -k rq -a r6 -k r6 -18,qi -1i r6 -18,tc k u0 u,tc k tc 0 tc -18 u0 -1i u0 u,ua a vi u 10q a 10q -k 10q -1s 106 -26 106 -1i,ua a ua -a ua -u uu -k uu 0 vi a 106 0 106 -k 10q -u,ua -u vi -1i 106 -18 106 -1i,106 -k vi -u uu -k,114 a 12c u 130 k 11o 0 11o -a,114 a 114 -a 114 -u 12c -1i 13k -u 130 -k 130 -a 130 0 13k -a 13k -u,130 -k 12c -u 11o -k 114 -u,11o -k 11o -a,13u k 13u -u 13u -18 14i -1i 14i 0,13u k 14i u 14i 0,17m a 19i 1i 1es 1i 3d2 1i,pa a q8 a,8e a 9m u au a,e2 k em u,gi k fu u,42 1i -1mm 1i,17m a 14s a#9m -1i 9m -a aa 0,9m -a 92 0,bs 0 cg -a cg -u,cg -a d4 0,bs -k cg -u,em -k fa -a fa a fu 0,fa -a fu -k,em 0 fa a,hg 0 i4 -a io 0,hg -k i4 -u i4 -a,i4 -u io -k,ka 0 ku -a li 0,ku -a ku -u,ka -k ku -u,no -1i mg -u mg -a n4 0,mg -u no -a,no -u n4 -k,r6 -18 rq -u rq -a,rq -u se -18,tc -18 tc -1s u0 -1i,uu 0 vi -a vi -u,vi -a 106 0,11o -k 12c -a 12c a,12c -a 130 -k,130 0 12c a,14i -1i 156 -18 156 -k 14i -u#"; $type = explode("#", $trackcode); $line = explode(",", $type[0]); $sline = explode(",", $type[1]); for($i=0; $i<count($line); $i++) { $section = explode(" ", $line[$i]); for($j=0; $j<count($section)-2; $j+=2) { $startx = base_convert($section[$j],32,10); $starty = base_convert($section[$j+1],32,10); $endx = base_convert($section[$j+2],32,10); $endy = base_convert($section[$j+3],32,10); //echo "startx: $startx | starty: $starty | endx: $endx | endy: $endy\n"; imageline ($im,$startx,$starty,$endx,$endy,$color); } } Quote Link to comment https://forums.phpfreaks.com/topic/217914-drawn-lines-starting-at-00-for-unknown-reasons/#findComment-1130999 Share on other sites More sharing options...
patawic Posted November 6, 2010 Author Share Posted November 6, 2010 its working somewhat, http://canvasrider.com/ But it should be appearing like the logo up the top here. But its not :/ Quote Link to comment https://forums.phpfreaks.com/topic/217914-drawn-lines-starting-at-00-for-unknown-reasons/#findComment-1131154 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.