HTML5 Canvas里绘制椭圆并保持线条粗细均匀的方法
来源:互联网 发布:服务器环境配置软件 编辑:程序博客网 时间:2024/05/01 17:36
Canvas里绘制椭圆是一个很常见的需求,比较新的HTML Canvas 2D Context W3C草案里面新增了ellipse方法绘制椭圆,但是目前大多数浏览器还没有实现该方法,所以需要用arc或者arcTo方法结合scale变形来绘制椭圆。
示例代码:
<canvas width="400" height="300"></canvas><script>var ctx = document.querySelector('canvas').getContext('2d');ctx.lineWidth = "10";ctx.scale(1, 0.2);ctx.arc(150,150,100,0,Math.PI*2,false);ctx.stroke();</script>
有点不对,因为线条粗细不均匀了,stroke也被scale影响了。
要修正这个问题,就要一点点小技巧了。
示例代码:
<canvas width="400" height="300"></canvas><script>var ctx = document.querySelector('canvas').getContext('2d');ctx.lineWidth = "10";ctx.save();ctx.scale(1, 0.2);ctx.arc(150,150,100,0,Math.PI*2,false);ctx.restore();ctx.stroke();</script>
现在均匀了,非常完美。
技巧就在先save保存画布状态,然后缩放、调用路径指令,再restore恢复画布状态,再stroke绘制出来。
关键点是先save后缩放,先restore后stroke.
- HTML5 Canvas里绘制椭圆并保持线条粗细均匀的方法
- HTML5 Canvas中绘制椭圆的5种方法
- HTML5 Canvas 绘制椭圆与椭圆弧的实现
- html5的canvas绘制线条,moveTo和lineTo详解
- 在HTML5的Canvas上绘制椭圆的几种方法
- 在HTML5的Canvas上绘制椭圆的几种方法(转)
- html5<canvas>标签绘制矩形,线条,圆
- 椭圆线条绘制动画
- Canvas 画椭圆的方法
- Canvas 画椭圆的方法
- html5里的canvas
- html5 绘制椭圆
- 【实例】html5-canvas中实现绘制虚线的方法
- Html5 Canvas 绘制虚线和实线的切换方法
- canvas lineWidth为1时线条粗细和颜色
- 为什么canvas绘制的线条会模糊、有锯齿?
- [Canvas系列]Canvas简单线条绘制_02
- 绘制线条的两种方法
- VC 界面库皮肤库
- ubuntu 系统 /etc/profile, ~/.profile, ~/.bashrc, ~/.bash_logout,~/.bash_history 文件的内容及解析
- ajax中使用JSON的方法解析
- 解决 Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair
- Daemon程序的原理和实现
- HTML5 Canvas里绘制椭圆并保持线条粗细均匀的方法
- 身份证号码的了解------最后一位数字是有前面的十七位数字通过计算得到的
- static_cast dynamic_cast const_cast reinterpret_cast
- VIM总结
- ZOJ 1970 All in All
- maven常见开源软件坐标
- php数组的小函数之想
- Android中Thread和Service的区别
- Serv-U 10.0.0.7自己停止服务解决办法!