最新下载
24小时阅读排行榜
- 1 html中如何填充_HTML表单/元素(input/textarea)内容填充方法
- 2 css过渡与边框border变化结合
- 3 mysql输入正确密码连接不上怎么办
- 4 使用VSCode的Bookmarks插件管理代码书签
- 5 qq浏览器账号被盗了怎么找回_qq浏览器账号安全找回步骤
- 6 AO3官方网址导航_中文版网页直接进入
- 7 sublime怎么配置python的linter_sublime设置Python代码检查教程
- 8 如何在CSS Grid中实现响应式图片列表_网格布局与媒体查询结合
- 9 vscode同步插件支持哪些平台_vscode同步插件兼容平台介绍与说明
- 10 vscode怎么用git推送标签_vscode将git标签推送到远程仓库的方法
- 11 ES6+新特性在现代化项目中的实践应用
- 12 苹果14 Pro如何清理App缓存_iPhone 14 Pro App缓存清理教程
- 13 夸克网页版下载入口 夸克网盘网页版文件下载教程
- 14 如何禁止mysql开机自启
- 15 Windows安装到“准备就绪”界面卡很久怎么办?
最新教程
-
- Node.js 教程
- 7110 2025-08-28
-
- CSS3 教程
- 1009159 2025-08-27
-
- Rust 教程
- 11282 2025-08-27
-
- Vue 教程
- 13518 2025-08-22
-
- PostgreSQL 教程
- 10365 2025-08-21
-
- Git 教程
- 5052 2025-08-21
代码片段:
Stem.prototype.draw = function(ctx) {
var len, ctrlPoint, point;
len = this.points.length - 1;
ctrlPoint = {x: 0, y: 0};
ctx.save();
ctx.strokeStyle = this.color;
ctx.beginPath();
ctx.moveTo(this.points[this.points.length - 1].x, this.points[this.points.length - 1].y);
for (var i = len; i >= 1; i--) {
point = this.points[i];
ctrlPoint.x = (point.x + this.points[i - 1].x) / 2;
ctrlPoint.y = (point.y + this.points[i - 1].y) / 2;
ctx.quadraticCurveTo(point.x, point.y, ctrlPoint.x, ctrlPoint.y);
ctx.lineWidth = i * 1.1;
ctx.stroke();
ctx.fillStyle = 'red';
}
ctx.restore();
}

