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弹性盒模型开发笔记(一)
Apr 26 HTML / CSS
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
使用css3匹配手机屏幕横竖状态
Jan 27 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 HTML / CSS
HTML5 Canvas 破碎重组的视频特效的示例代码
Sep 24 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
Jan 30 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
Jan 08 HTML / CSS
h5网页水印SDK的实现代码示例
Feb 19 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 30 HTML / CSS
HTML静态页面获取url参数和UserAgent的实现
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
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
荷兰超市:DEEN
2018/03/14 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
学习雷锋标语
2014/06/25 职场文书
终止劳动合同通知书
2015/04/16 职场文书
2015年手术室工作总结
2015/05/11 职场文书