I am writing a simple drawing application to get an idea of HTML 5 canvas. The problem is that I just cannot get the right mouse position in the canvas element. I looked at other stackoverflow questions, like here, to get javascript mouse position within the canvas , which solve this problem, but their solutions don't seem to help me.
Here is my code:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Untitled Document</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> <style type="text/css"> #test { border: solid black 1px; width: 500px; height: 500px; } </style> <script type="text/javascript"> $(function(){ var canvas=document.getElementById('test'); if(canvas.getContext){ var ctx =canvas.getContext('2d'); var draw = false; ctx.strokeStyle = "rgb(200,0,0)"; ctx.lineWidth = 3; ctx.lineCap = "round"; $('#test').mousedown(function(){draw=true;}); $('#test').mouseup(function(){draw=false;}); $('#test').mousemove(function(e){ if(draw){ var x , y; x = e.layerX; y = e.layerY; ctx.moveTo(x,y); ctx.lineTo(x+1,y+1); ctx.stroke(); } }); } }); </script> </head> <body> <canvas id="test"></canvas> </body> </html>
What am I doing wrong here? I tested it like in Chrome / Firefox.
javascript html5 canvas
kartikq Feb 06 '11 at 18:47 2011-02-06 18:47
source share