我有一个用户可以绘制的画布,但我需要检测填充区域的百分比。用户必须在检查期间继续绘制。
我已经拥有了我的画布,用户可以在上面画画。我在这里有一个小功能来检查一些像素是否空白,但它太慢而且用户不能再画画了。
您知道我该怎么做吗?
更新:
在我的画布上绘图我使用lineTo()
:
$.fn.drawMouse = function() {
var clicked = 0;
var start = function(e) {
clicked = 1;
ctx.beginPath();
x = e.pageX;
y = e.pageY;
ctx.moveTo(x,y);
};
var move = function(e) {
if(clicked){
x = e.pageX;
y = e.pageY;
ctx.lineTo(x,y);
ctx.stroke();
}
};
var stop = function(e) {
clicked = 0;
};
$(this).on("mousedown", start);
$(this).on("mousemove", move);
$(window).on("mouseup", stop);
};
答案 0 :(得分:0)
如果你添加一个" x百分比覆盖"那就不会更好。每次用户绘制内容时,值是否为百分比填充变量?
例如:
假设您通过创建圆圈来绘制。你可以计算圆的面积,然后检查一些像素是否已经填满。添加(areaOfCircle(以%,或者可能是px ^ 2) - areaAlreadyFilled(以%,或者可能是px ^ 2))到您的percentFilled变量,您将获得当前填充的百分比。每当你画一些东西,它都会添加绘画区域。您完全可以完全避免完全计算画布的覆盖部分。