首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接收绘制点位置的画布- HTML5画布

接收绘制点位置的画布- HTML5画布
EN

Stack Overflow用户
提问于 2017-12-24 05:03:50
回答 1查看 87关注 0票数 1

在绘图停止后,我需要从canvas接收一个位置,在canvas中绘图已经结束,是否可以接收绘制点坐标?

circle

代码语言:javascript
复制
        Number.prototype.toRad = function () { return this * Math.PI / 180; }
    var num = 0;
    var qwerty = function(){
     setTimeout(function(){
       num++;
       drawOnCanvas7(num);
       if(num<=70){
         qwerty();
        }
      }, 100);
    }
    qwerty();
    function drawOnCanvas7(v){
	   v = parseInt(v);
	   v = v>100?100:v<=0?0:v;
     var onePrc = 360/100;
     v = v * onePrc;  
 	var canvas2 = document.getElementById('tutorial-7');
    canvas2.width = 210;
 	canvas2.height = 210;
  var ctx = canvas2.getContext("2d");
   if(ctx){
    ctx.lineWidth = 5;
    ctx.strokeStyle = "black";
    ctx.save();
    ctx.strokeStyle = "yellow";
    ctx.beginPath();
  	ctx.arc(105, 105, 100, (0).toRad(), (v).toRad());
    ctx.stroke();
  }
}
代码语言:javascript
复制
canvas { 
 
  display:block;
}
代码语言:javascript
复制
<canvas id="tutorial-7" width="100" height="100" style="transform:rotate(-90deg)">
 Ваш браузер не поддерживает CANVAS
</canvas>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-24 05:32:54

您可以将结果坐标保存在一个变量中,如下所示:

代码语言:javascript
复制
function drawOnCanvas7(v){
v = parseInt(v);
v = v>100?100:v<=0?0:v;
var onePrc = 360/100;
v = v * onePrc;  
var canvas2 = document.getElementById('tutorial-7');
canvas2.width = 210;
canvas2.height = 210;
var ctx = canvas2.getContext("2d");
var x_end = 105 + Math.cos((v).toRad()) * 100;
var y_end = 105 + Math.sin((0).toRad()) * 100;
if(ctx){
ctx.lineWidth = 5;
ctx.strokeStyle = "black";
ctx.save();
ctx.strokeStyle = "yellow";
ctx.beginPath();
ctx.arc(105, 105, 100, (0).toRad(), (v).toRad());
ctx.stroke();
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47956007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档