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 相关文章推荐
移动Web—CSS为Retina屏幕替换更高质量的图片
Dec 24 HTML / CSS
使用CSS3制作响应式导航菜单的方法
Jul 12 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
Sep 15 HTML / CSS
CSS3实现王者荣耀匹配人员加载页面的方法
Apr 16 HTML / CSS
使用CSS3实现字体颜色渐变的实现
Aug 10 HTML / CSS
自定义html标记替换html5新增元素
Oct 17 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
Jun 25 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
Apr 24 HTML / CSS
HTML5 body设置自适应全屏
May 07 HTML / CSS
HTML5 FileReader对象的具体使用方法
May 22 HTML / CSS
Html5页面播放M4a音频文件
Mar 30 HTML / CSS
Canvas如何做个雪花屏版404的实现
Sep 25 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
extjs render 用法介绍
2013/09/11 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
考博专家推荐信
2014/05/10 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers