html5的画布canvas——画出弧线、旋转的图形实例代码+效果图


Posted in HTML / CSS onJune 09, 2013

在做旋转操作之前一定要理解一句话:旋转的是画布的坐标系而不是图形本身,好了,理解了这一句话后,接下来的就很简单了。
首先认识一下画圆的坐标:
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图 

复制代码
代码如下:

<script language="javascript">
var cxt=document.getElementById('demo').getContext("2d");
cxt.beginPath();
cxt.arc(100,100,50,Math.PI*0.75,Math.PI*1.75,false);/*绘制一段半圆弧线,圆心坐标是100,100;开始弧度是0.75,结束弧度是1.75,最后一个参数False = 顺时针,true = 逆时针,当然,这个参数可选的*/
cxt.fillStyle="#F00";/*选择使用的颜色*/
cxt.fill();/*真正将图形画在画布上的一步,画第一个半圆*/
/*同理绘制第二个半圆*/
cxt.beginPath();
cxt.arc(170,100,50,Math.PI*1.25,Math.PI*0.25,false);
cxt.fillStyle="#F00";
cxt.fill();/*将绘制的图形画在画布上*/
cxt.beginPath();
/*将画布顺时针旋转45度,rotate函数的参数是弧度,所以要进行转换*/
cxt.rotate(45*Math.PI/180);
cxt.fillRect(141.1,-50,100,100);/*开始坐标为141.1,-50,宽和高都是100*/
cxt.fillStyle="#F00";
cxt.fill();
cxt.beginPath();
/*将画布旋转到正常的角度*/
cxt.rotate(-45*Math.PI/180);
cxt.font="60px 微软雅黑";
cxt.strokeStyle="#f00";
cxt.strokeText("我爱html5",0,300);/*两个参数,第一个是开始绘制文本的x轴坐标,第二个是开始绘制文本的Y坐标*/
cxt.stroke();
/*创建渐变*/
var grd=cxt.createLinearGradient(0,45,175,50);/*四个参数分别是渐变开始点x、y渐变结束点x、y*/
grd.addColorStop(0,"#FF0000");
grd.addColorStop(0.25,"#FFFF00");
grd.addColorStop(0.5,"#00FF00");
grd.addColorStop(0.75,"#00FFFF");
grd.addColorStop(1,"#FFFF00");
cxt.strokeStyle=grd;
cxt.strokeText("我爱canvas",0,400);/*两个参数,第一个是开始绘制文本的x轴坐标,第二个是开始绘制文本的Y坐标*/
cxt.stroke();
</script>

效果图:
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
HTML / CSS 相关文章推荐
CSS3中:nth-child和:nth-of-type的区别深入理解
Mar 10 HTML / CSS
基于html和CSS3制作酷炫的导航栏
Sep 23 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
Sep 12 HTML / CSS
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
Dec 13 HTML / CSS
HTML5 Video/Audio播放本地文件示例介绍
Nov 18 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
Sep 01 HTML / CSS
简单介绍HTML5中audio标签的使用
Sep 24 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
Mar 01 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
Dec 06 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
Sep 11 HTML / CSS
使用canvas压缩图片上传的方法示例
Feb 07 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
Aug 18 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
Jun 08 #HTML / CSS
HTML5中如何显示视频呢 HTML5视频播放demo
Jun 08 #HTML / CSS
HTML5使用DOM进行自定义控制示例代码
Jun 08 #HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
Jun 06 #HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
May 20 #HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
May 15 #HTML / CSS
基于HTML5 Canvas:字符串,路径,背景,图片的详解
May 09 #HTML / CSS
You might like
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
浅谈React高阶组件
2018/03/28 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
python中星号变量的几种特殊用法
2016/09/07 Python
python的中异常处理机制
2018/08/30 Python
详解python中eval函数的作用
2019/10/22 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
大学毕业登记表自我鉴定
2013/10/09 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
微电影大赛策划方案
2014/06/05 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
小学生差生评语
2014/12/29 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
高一英语教学反思
2016/03/03 职场文书