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
CSS去掉A标签(链接)虚线框的方法
Apr 01 HTML / CSS
CSS3制作Dropdown下拉菜单的方法
Jul 18 HTML / CSS
CSS3中的常用选择器使用示例整理
Jun 13 HTML / CSS
使用phonegap检测网络状态的方法
Mar 30 HTML / CSS
canvas实现图片马赛克的示例代码
Mar 26 HTML / CSS
2014年圣诞节倒计时网页的制作过程
Dec 05 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
Jun 16 HTML / CSS
html5 冒号分隔符对齐的实现
Jul 31 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
Apr 16 HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
Jul 16 HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
Python中title()方法的使用简介
2015/05/20 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Python常用的json标准库
2019/02/19 Python
Python hashlib模块加密过程解析
2019/11/05 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
研修第一天随笔感言
2014/02/15 职场文书
难忘的一天教学反思
2014/04/30 职场文书
保护环境倡议书100字
2014/05/19 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
保送生自荐信范文
2015/03/26 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang