2.10.1_带有圆角的箭头图案
来源:互联网 发布:c语言编写界面 编辑:程序博客网 时间:2024/05/21 07:02
2.10.1_带有圆角的箭头图案
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>带有圆角的箭头图案</title> </head> <body> <canvas id="canvas" width="1000" height="600"></canvas> </body> <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); arrow_margin = 30, //箭头周围边距 point_radius = 7, //指示点半径 points = [ //三个角的控制点和锚点 { x:canvas.width - arrow_margin, y:canvas.height - arrow_margin }, { x:canvas.width - arrow_margin*2, y:canvas.height - arrow_margin }, { x:point_radius, y:canvas.height/2 }, { x:arrow_margin, y:canvas.height/2-arrow_margin }, { x:canvas.width - arrow_margin, y:arrow_margin }, { x:canvas.width-arrow_margin, y:arrow_margin*2 } ]; //初始化 context.clearRect(0,0,canvas.width,canvas.height); drawArrow(); drawBezierPoints(); //绘制贝赛尔曲线 //绘制贝赛尔曲线 function drawBezierPoints(){ var i ,strokestyle,fillStyle; for(var i=0;i<points.length;i++){ fillStyle = i%2 ===0?'white':'blue'; strokestyle = i%2 ===0? 'blue':'white'; drawPoint(points[i].x,points[i].y,strokestyle,fillStyle); } } // function drawPoint(x,y,strokeStyle,fillStyle){ context.beginPath(); context.fillStyle = fillStyle; context.strokeStyle = strokeStyle; context.lineWidth = 0.5; context.arc(x,y,point_radius,0,Math.PI*2,false); context.fill(); context.stroke(); } //绘制箭头 function drawArrow(){ context.strokeStyle = 'white'; context.fillStyle = 'cornflowerblue'; //竖直的那条线 context.moveTo(canvas.width - arrow_margin, arrow_margin*2); context.lineTo(canvas.width-arrow_margin,canvas.height-arrow_margin*2); context.quadraticCurveTo(points[0].x,points[0].y,points[1].x,points[1].y); context.lineTo(arrow_margin,canvas.height/2+arrow_margin); context.quadraticCurveTo(points[2].x,points[2].y,points[3].x,points[3].y); context.lineTo(canvas.width-2*arrow_margin,arrow_margin); context.quadraticCurveTo(points[4].x,points[4].y,points[5].x,points[5].y); context.fill(); context.stroke(); } </script></html>
0 0
- 2.10.1_带有圆角的箭头图案
- Java中画带有箭头的线段
- 带有左右箭头的幻灯片展示
- 带有向下箭头的自定义弹出菜单
- 纯CCS绘制成的三角形箭头图案技术详解
- 百度地图添加带有图案的多边形区域
- 2.5.2_图案
- PostgreSQL查询带有_符号的sql
- MFC绘制坐标刻度和自定义线条以及带有箭头的直线
- 带有圆角边框的层
- 实现带有边框的圆角
- 建立带有圆角样式的路径
- C++编程教程_箭头(->)运算符的重载
- 带箭头的圆转动
- 重装系统配置环境的记录...带有骚气的vim^_^
- Flash小玩意图案创作:新增箭头,圆环,齿轮,菱形
- 带箭头圆角的 uiview 代码例子
- Android自定义圆角以及向下箭头的ImageView
- HDU 3348 By Assassin [可怕的模拟题]
- HashMap源码阅读与解析
- Sublime Text 有意思的快捷键介绍
- 搭建RAC时配置scanip的DNS环境
- EhCache 是一个纯Java的进程内缓存框架
- 2.10.1_带有圆角的箭头图案
- Android 通知栏Notification点击跳转无效
- 新建Podfile文件时,使用vim新建
- arp命令--arping
- 汇编堆栈平衡的几种方式
- predicates 案例
- Java 多线程编程概要
- 学习大数据过程中遇到的问题1
- 2.10.1_二次方贝赛尔曲线