Vos*_*yan 5 html javascript css html5 canvas
我想制作一个带有html5画布的绘图工具,它只能绘制水平和垂直线
例如,尽管我将拖动鼠标,但它必须绘制垂直或水平线.
下面我将展示一个图像,我将展示我需要的东西......
谁能给我一些代码示例?
这是你必须使用一些逻辑或算法的东西。我在这里所做的是计算dx
和dy
,即变化x
和变化y
。
当变化x
更多时 ( dx>dy
) 保持y
不变,反之亦然。
这是我的代码
HTML
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Run Code Online (Sandbox Code Playgroud)
查询
var prvX = -300;
var prvy = -300;
$('#myCanvas').bind("mousemove",function(e){
var c=document.getElementById("myCanvas");
c.width=c.width;
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.moveTo(20,20);
var dx = Number(e.offsetX) - Number(prvX);
var dy = Number(e.offsetY) - Number(prvy);
if(Number(dx)>Number(dy))
{
ctx.lineTo(e.offsetX,20);
}
else
{
ctx.lineTo(20,e.offsetY);
}
prvX =e.offsetX;
prvy=e.offsetY;
ctx.stroke();});
Run Code Online (Sandbox Code Playgroud)
小提琴
GameAlchemist 在这里更好的一个
http://jsfiddle.net/gamealchemist/zhq5n/5/