javascript - 如何用 JavaScript 在 Canvas 上绘制圆 Angular 矩形的下半部分

标签 javascript canvas geometry

我正在使用二次曲线在 Canvas 上绘制大圆 Angular 矩形,如下所示:

    var ctx = canvas.getContext('2d');
    ...
    ctx.moveTo(x, my);
    ctx.quadraticCurveTo(x, y, mx, y);
    ctx.quadraticCurveTo(x + w, y, x + w, my);
    ctx.quadraticCurveTo(x + w, y + h, mx, y + h);
    ctx.quadraticCurveTo(x, y + h, x, my);

我可以画一个完整的圆 Angular 矩形: http://jsfiddle.net/s9x3xn4z/

我可以绘制圆 Angular 矩形的上半部分: http://jsfiddle.net/1oeduLqx/

但我不知道如何绘制圆 Angular 矩形的下半部分。

我的尝试最终看起来像这样: http://jsfiddle.net/tfyagcew/

这绝对不是我想要的!

如何绘制圆 Angular 矩形的下半部分?

最佳答案

这只是上半部分的颠倒版本:

ctx.moveTo(x, y);
ctx.quadraticCurveTo(x, my, mx, my);
ctx.quadraticCurveTo(x + w, my, x + w, y);

第一个坐标对是控制点,第二个坐标对是目的地。中间点必须是 (mx, my),终点是 (x + w, y)

关于javascript - 如何用 JavaScript 在 Canvas 上绘制圆 Angular 矩形的下半部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427629/

相关文章:

javascript - 自动完成 : how to get automatically value on focus if no values selected

javascript - 为什么显示函数未定义?它确实将结果记录在控制台中,我只是想列出名字

javascript - 使用 Angular js 弹出传单

javascript - 在 HTML5 Canvas 中滚动(不移动图像)图像

java - 渲染由三角形组成的立方体会产生奇怪的旋转角度

javascript - 惰性模块加载如何在 typescript 中工作?

php - 将 mySQL 查询中的文本添加到 Canvas 上

javascript - 在 C# 和 Fabric.js 中添加对象并保存图像

Python:调整窗口大小时调整小部件的大小(使用 PLACE 管理器)

c# - 如何判断三角形的三个顶点是循环顺序还是反循环顺序?