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中动画属性transform、transition和animation属性的区别
Sep 25 HTML / CSS
浅析几个CSS3常用功能的写法
Jun 05 HTML / CSS
CSS3 transform的skew属性值图文详解
Jul 21 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
May 20 HTML / CSS
CSS3实现3D翻书效果
Jun 20 HTML / CSS
CSS3中Animation动画属性用法详解
Jul 04 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
Jan 07 HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 HTML / CSS
跨域修改iframe页面内容详解
Oct 31 HTML / CSS
Html5大屏数据可视化开发的实现
Jun 11 HTML / CSS
html5表单的required属性使用
Jul 07 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python自动化测试实例解析
2014/09/28 Python
python取余运算符知识点详解
2019/06/27 Python
python 爬取疫情数据的源码
2020/02/09 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
活动倡议书范文
2014/05/13 职场文书
自主招生专家推荐信
2015/03/26 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2015年大学生工作总结
2015/04/21 职场文书
详细介绍python类及类的用法
2021/05/31 Python
SQL中的三种去重方法小结
2021/11/01 SQL Server
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js
mybatis 获取更新记录的id
2022/05/20 Java/Android
Java Redisson多策略注解限流
2022/09/23 Java/Android