加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

javascript – 如何只绘制垂直和水平线(Canvas)

发布时间:2020-12-14 22:53:41 所属栏目:资源 来源:网络整理
导读:我想制作一个带有html5画布的绘图工具,它只能绘制水平和垂直线 例如,尽管我将拖动鼠标,但它必须绘制垂直或水平线. 下面我将展示一个图像,我将展示我需要的东西 谁能给我一些代码示例? 最佳答案 这是你必须使用一些逻辑或算法的东西.我在这里做的是计算dx和d

我想制作一个带有html5画布的绘图工具,它只能绘制水平和垂直线

例如,尽管我将拖动鼠标,但它必须绘制垂直或水平线.
下面我将展示一个图像,我将展示我需要的东西……

谁能给我一些代码示例?

最佳答案
这是你必须使用一些逻辑或算法的东西.我在这里做的是计算dx和dy,即x的变化和y的变化.

当x的变化更大(dx> dy)时,保持y不变,反之亦然.

这是我的代码

HTML

jQuery的

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();});

小提琴

http://jsfiddle.net/zhq5n/4/

GameAlchemist在这里更好

http://jsfiddle.net/gamealchemist/zhq5n/5/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读