【发布时间】:2014-02-06 18:03:31
【问题描述】:
我正在尝试使用可拖动处理程序绘制语音气泡。 这就是我所拥有的:
- (x,y) - 气泡左下角坐标
- 气泡的长度
- 气泡的宽度
- (x1,y1) 处理程序端的坐标
为了便于理解,下图:
当所有坐标都已知时,我知道如何在画布中绘制它。这很简单。 Tutorial
function drawBubble(ctx, x, y, w, h, radius)
{
var r = x + w;
var b = y + h;
ctx.beginPath();
ctx.strokeStyle="black";
ctx.lineWidth="2";
ctx.moveTo(x+radius, y);
ctx.lineTo(x+radius/2, y-10);
ctx.lineTo(x+radius * 2, y);
ctx.lineTo(r-radius, y);
ctx.quadraticCurveTo(r, y, r, y+radius);
ctx.lineTo(r, y+h-radius);
ctx.quadraticCurveTo(r, b, r-radius, b);
ctx.lineTo(x+radius, b);
ctx.quadraticCurveTo(x, b, x, b-radius);
ctx.lineTo(x, y+radius);
ctx.quadraticCurveTo(x, y, x+radius, y);
ctx.stroke();
}
但问题是 - 如何找到图片上显示的红点的坐标。 (x,y) 和 (x1,y1) 都是已知的,但是当用户拖动气泡或处理程序时会发生变化。在所有情况下,处理程序都应该看起来很漂亮。
如果有人能分享代码就好了,这对我来说有点复杂。 提前致谢!
【问题讨论】:
标签: javascript html canvas