3.3.6_在圆弧周围绘制文本
2017-05-08 10:53
204 查看
3.3.6_在圆弧周围绘制文本
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>在圆弧周围绘制文本</title> <style> body{ background: #eee; } #canvas{ background: #fff; cursor: pointer; margin-left: 10px; margin-top: 10px; box-shadow: 4px 4px 8px rgba(0,0,0,0.5); -webkit-box-shadow: 4px 4px 8px rgba(0,0,0,0.5); -moz-box-shadow: 4px 4px 8px rgba(0,0,0,0.5); } </style> </head> <body> <canvas id="canvas" width="1000" height="600"></canvas> </body> <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); //文本样式设置 var text_fill_style = 'rgba(100,130,240,0.5)'; var text_stroke_style = 'rgba(200,0,0,0.7)'; var text_size = 64; //圆弧设置 circle = { x:canvas.width/2, y:canvas.height/2, radius:200 }; //初始化 context.textAlign = 'center'; context.textBaseline = 'middle'; //绘制圆弧形文字 drawCircularText('clockwise around the circle',Math.PI*2,Math.PI/8); function drawCircularText(string,startAngle,endAngle){ var radius = circle.radius; var angleDecrement = (startAngle-endAngle)/(string.length-1); //每个字符间隔的角度 var angle = parseFloat(startAngle); var index = 0; //第个字符的标记 var character; context.save(); context.fillStyle = text_fill_style; context.strokeStyle = text_stroke_style; context.font = text_size + 'px lucida sans'; while(index<string.length){ character = string.charAt(index); context.save(); context.beginPath(); context.translate(circle.x+Math.cos(angle)*radius,circle.y - Math.sin(angle)*radius); context.rotate(Math.PI/2-angle); context.fillText(character,0,0); context.strokeText(character,0,0); angle -= angleDecrement; index++; context.restore(); } context.restore(); } </script> </html>
相关文章推荐
- Java绘图: 使用Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本
- canvas绘制文本 圆弧 填充规则
- Java绘图: 使用Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本
- Java 绘图: 使用 Graphics 类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本
- Java绘图: 使用Graphics类绘制线段、矩形、椭圆/圆弧/扇形、图片、文本
- canvas绘制文本 圆弧 详解
- HTML5绘制空心的文本
- 自定义View之Paint - 绘制文本
- 绘制文本居中
- 如何使用Core Text计算一段文本绘制在屏幕上之后的高度
- 文本显示器--静态文本控件之文本绘制输出
- Android Canvas Paint绘制文本
- 从绘制圆弧思考定位
- 好记性不如烂笔杆------Android开发--android绘制文本
- JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
- Android Paint 之 获取绘制的 Path 文本的Path
- IOS图像处理(2)绘制文本
- Android绘图系列(五)——绘制文本
- C#高级编程:绘制文本
- 利用GLUT实现在OpenGL中绘制文本的简单方法