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 三维变形实现立体方块特效源码
Dec 15 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
Nov 05 HTML / CSS
使用HTML和CSS3绘制基本卡通图案的示例分享
Nov 06 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
Nov 02 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
Mar 17 HTML / CSS
html5实现微信打飞机游戏
Mar 27 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
Apr 24 HTML / CSS
h5调用摄像头的实现方法
Jun 01 HTML / CSS
Html5实现首页动态视频背景的示例代码
Sep 25 HTML / CSS
如何给HTML标签中的文本设置修饰线
Nov 18 HTML / CSS
Html分层的box-shadow效果的示例代码
Mar 30 HTML / CSS
CSS3 天气图标动画效果
Apr 06 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实现支付宝接口功能实例
2014/12/02 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
jQuery each()小议
2010/03/18 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
django manage.py扩展自定义命令方法
2018/05/27 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
机械设计毕业生自荐信
2014/02/02 职场文书
单位承诺书格式
2014/05/21 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2014年关工委工作总结
2014/11/17 职场文书
七一活动主持词
2015/06/29 职场文书
关于环保的广播稿
2015/12/17 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js