zoukankan      html  css  js  c++  java
  • elasticRect

    <!DOCTYPE html>
    <html>
    <head>
    <title>画橡皮筋矩形</title>
    <script type="text/javascript">
    var ctx;
    var linew=10;
    var color="rgb(255,0,0)";
    var isClick;
    var startx=100;//起始位置
    var starty=100;//起始位置
    var endx=200;//结束位置
    var endy=200;//结束位置
    var wid=100;//矩形宽度
    var hei=100;//矩形高度
    var tid;
    function setstyle(w,c){
    ctx.lineWidth=w;
    ctx.strokeStyle=c;
    }

    /*获取当前鼠标位置坐标*/
    function getpoint(ev){
    if(ev.clientX||ev.clientX==0){
    mx=ev.clientX;
    my=ev.clientY;
    }else if(ev.offsetX||ev.offsetX==0){
    mx=ev.offsetX;
    my=ev.offsetY;
    }
    }

    /*画出矩形框*/
    function drawall(){
    ctx.clearRect(0,0,400,400);
    setstyle(linew,color);
    ctx.beginPath();
    ctx.strokeRect(startx,starty,wid,hei);
    ctx.stroke();
    setstyle(2,"rbg(0,0,0");
    ctx.strokeRect(0,0,400,400);
    }

    /*初始化*/
    function init(){
    isClick=false;
    ctx=document.getElementById('canvas').getContext('2d');
    drawall();
    canvasl=document.getElementById('canvas');
    canvasl.addEventListener("mousedown",findball,false);//
    canvasl.addEventListener("mousemove",moveit,false);
    canvasl.addEventListener("mouseup",finish,false);
    }

    /*鼠标按下,获取矩形框起始点*/
    function findball(ev){
    isClick=true;
    document.f.lg.value="mousedown";
    getpoint(ev);
    startx=mx;
    starty=my;
    }

    /*鼠标移动,添加鼠标移动时矩形慢慢变化的效果*/
    function moveit(ev){
    if(isClick){
    document.f.lg.value="mousemove";
    getpoint(ev);
    endx=mx;
    endy=my;
    wid=endx-startx;
    hei=endy-starty;
    drawall();
    }
    }

    /*鼠标抬起事件,获取矩形框结束位置并画出来 */
    function finish(ev){
    if(isClick){
    isClick=false;
    document.f.lg.value="mouseup";
    getpoint(ev);
    endx=mx;
    endy=my;
    wid=endx-startx;
    hei=endy-starty;
    drawall();
    console.log("start("+startx+","+starty+"),end("+endx+","+endy+")");
    }
    }


    </script>
    </head>
    <body onLoad="init();">
    <canvas id="canvas" width="400" height="400"></canvas>
    <form id="f" name="f">
    LOG:<input type="text" name="lg" id="lg" value="false"/>
    </form>
    </body>
    </html>

  • 相关阅读:
    tensorflow 2.0 学习 (十) 拟合与过拟合问题
    tensorflow 2.0 学习 (九) tensorboard可视化功能认识
    tensorflow 2.0 学习 (八) keras模块的认识
    tensorflow 2.0 学习 (七) 反向传播代码逐步实现
    tensorflow 2.0 学习 (六) Himmelblua函数求极值
    tensorflow 2.0 学习 (五)MPG全连接网络训练与测试
    arp协议简单介绍
    Pthread spinlock自旋锁
    线程和进程状态
    内核态(内核空间)和用户态(用户空间)的区别和联系·
  • 原文地址:https://www.cnblogs.com/zyx-blog/p/9335371.html
Copyright © 2011-2022 走看看