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实现鼠标经过图片显示描述的动画效果
Sep 01 HTML / CSS
css3选择器基本介绍
Dec 15 HTML / CSS
详解CSS3中@media的实际使用
Aug 04 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
浅谈CSS3 动画卡顿解决方案
Jan 02 HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 HTML / CSS
CSS3 新增选择器的实例
Nov 13 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
Sep 14 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
May 27 HTML / CSS
浅谈html5 响应式布局
Dec 24 HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
Jul 04 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
Aug 05 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
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
jquery replace方法去空格
2017/05/08 jQuery
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Python实现读取文件最后n行的方法
2017/02/23 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Python assert语句的简单使用示例
2019/07/28 Python
python实现的发邮件功能示例
2019/09/11 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
前台领班岗位职责
2013/12/04 职场文书
领导失职检讨书
2014/02/24 职场文书
工程技术员岗位职责
2014/03/02 职场文书
母校寄语大全
2014/04/10 职场文书
有关环保的标语
2014/06/13 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
企业培训简报范文
2015/07/20 职场文书
小学班长竞选稿
2015/11/20 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL