canvas在图片上画矩形框和点,并控制显隐

2 篇文章 0 订阅

1、定义document canvas元素 

<canvas id = "image-canvas">

<canvas id="rectangle-canvas" >
<canvas id="point-canvas">

2、画图片

var  imageCanva = document.getElementById("image-canvas"); //获取canvas元素
var imagectx = imageCanva.getContext('2d');  //获取上下文
this.pictureCanvasCtx = imagectx;

ctx.clearRect(0,0,imageCanvas.width,imageCanvas.height);  //清除图层

var img = new Image();

img.src = '''../../../图片地址.png'
image.onload = function(){

       let xRate = myCanvas.width/img.width;          算出x和y的压缩比,使得图片铺满整个canvas窗口,当然,无此需求可省略

       let yRate = myCanvas.height/img.height;

       ctx.drawImage(this,0,0,img.width*xRate,img.height*yRate);  //this指照片,0,0起始(左上角)左边,后边两个参数是长和高

      //画矩形框    不同图层,当然也可同一图层

    var  rectCanva = document.getElementById("rect-canvas"); //获取canvas元素
   var rectctx =rectCanva.getContext('2d');  //获取上下文
     rectctx.beginPath();

     rectctx.lineWidth=“2”; //矩形线宽

   rectct.stokeStyle = 'red'    ;//矩形线填充

recttx.rect((坐上角的x坐标)*xRate,(左上角的y坐标)* yRate,(矩形宽)*xRate,(矩形高)*yRate);

recctx.stroke();

 

    var  pointCanva = document.getElementById("point-canvas"); //获取canvas元素
   var pointctx =pointCanva.getContext('2d');  //获取上下文
     pointctx.beginPath();

    pointctx.stokeStyle = 'red'    ;//点填充

    pointctx.arc((点中心x坐标)*xRate,(点中心y坐标)*yrate,1,0,2*Math.PI);

     pointctx.stroke();

}

3、控制显隐通过visibility属性

例 document.getElementById(rect-canvas).style.visibility='visible';  //显示 或hidden进行隐藏

注,内网开发,代码无法粘贴,纯页面手打,错误不可避免,重在理解思路

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值