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使用多列制作瀑布流
May 10 HTML / CSS
CSS3实战第一波 让我们尽情的圆角吧
Aug 27 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
Jul 04 HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
Jun 27 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
Feb 14 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
Jan 09 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
Apr 24 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
Aug 20 HTML / CSS
HTML5表单验证特性(知识点小结)
Mar 10 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
Apr 15 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 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原生函数一定好吗?
2014/12/08 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python subprocess模块学习总结
2014/03/13 Python
用Django写天气预报查询网站
2018/10/21 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
咖啡厅创业计划书范本
2014/01/22 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
计划生育责任书
2015/05/09 职场文书
首都博物馆观后感
2015/06/05 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书