canvas常用画法整理
代码Canvas.htm
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title>canvas简单应用画各种图形状</title>
- </head>
- <!--<script language="javascript" src="jquery-1.8.3.js"></script>-->
- <script language="javascript" type="text/javascript">
- //通过画线段构造三角形
- function draw_triangle(x1,y1,x2,y2,x3,y3){
- var c = document.getElementById("canvas1");
- var cxt = c.getContext("2d");
- cxt.moveTo(x1,y1);
- cxt.lineTo(x2,y2);
- cxt.lineTo(x3,y3);
- cxt.lineTo(x1,y1);
- cxt.stroke();
- }
- //画三角进一步封装
- function draw(){
- draw_triangle(100,50,300,200,150,100);
- }
- //向canvas原型对象添加画扇形方法
- CanvasRenderingContext2D.prototype.selector=function(x,y,radius,sDeg,eDeg){
- //保存初始状态
- this.save();
- // 位移到目标点
- this.translate(x, y);
- this.beginPath();
- // 画出圆弧
- this.arc(0,0,radius,sDeg, eDeg);
- // 再次保存以备旋转
- this.save();
- // 旋转至起始角度
- this.rotate(eDeg);
- // 移动到终点,准备连接终点与圆心
- this.moveTo(radius,0);
- // 连接到圆心
- this.lineTo(0,0);
- // 还原
- this.restore();
- // 旋转至起点角度
- this.rotate(sDeg);
- // 从圆心连接到起点
- this.lineTo(radius,0);
- this.closePath();
- // 还原到最初保存的状态
- this.restore();
- return this;
- }
- function b(){
- var c = document.getElementById("canvas1");
- var cxt = c.getContext("2d");
- //画线
- /**cxt.moveTo(10,10);
- cxt.lineTo(60,80);
- cxt.stroke();**/
- //画图片
- /*cxt.beginPath();
- var img = new Image();
- img.src = 'b.jpg';
- img.onload=function(){
- cxt.drawImage(img,0,0);*/
- //画圆环
- /*cxt.clearRect(0,0,1200,400);
- cxt.beginPath();
- cxt.arc(300,100,60,Math.PI*2,false);
- cxt.closePath();
- cxt.fill();
- cxt.fillStyle="white";
- cxt.beginPath();
- cxt.arc(300,100,50,Math.PI*2,false);
- cxt.closePath();
- cxt.fill();*/
- //画圆弧
- cxt.selector(100,100,50,0,Math.PI*0.75);
- }
- </script>
- <body onload="b();">
- <!--<canvas id="cans" width="500px" height="300px" style="border:1px solid red;">浏览器不支持canvas</canvas>-->
- <canvas id="canvas1" width="1200" height="400" style="border:1px solid red">浏览器不支持该功能</canvas>
- <button onclick="draw()">start</button>
- </body>
- </html>
运行效果:三角和圆弧
canvas常用画法整理的更多相关文章
- NiosII常用函数整理
NiosII常用函数整理 IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏 ...
- MAC机常用快捷键整理表格
MAC机常用快捷键整理表格 范围 快捷键 说明 图形 (Command 键)在某些 Apple 键盘上,此键也可能为标志() Control (Control 键) Alt Opt ...
- sublime常用快捷键整理(未完待续)
sublime常用快捷键整理: 基本操作 cmd+o 打开文件 cmd+w 关闭当前tab cmd+n 打开新页 cmd+shift+n 打开刚刚关闭的页签 一.选择命令 1.多个单词选择 cmd+d ...
- zendStudio常用快捷键整理
在来一发zendstudio的常用快捷键整理,今天心情不错哈哈 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ct ...
- 常用DOM整理
常用DOM整理 前言: html为document搭建了一棵DOM树,这棵树就是有一系列Node节点所构成的.他为我们定义了文档的结构. Node类型: Node.ELEMENT_NODE(1); ...
- NSIS常用代码整理
原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...
- javascript中字符串常用操作整理
javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...
- Win7常用快捷键整理
Win7常用快捷键整理.. -------------------- Win + Pause:显示系统属性对话框 ------------------------------------ Win7系统 ...
- python 常用库整理
python 常用库整理 GUI 图形界面 Tkinter: Tkinter wxPython:wxPython pyGTK:PyGTK pyQt:pyQt WEB框架 django:django w ...
随机推荐
- 使用dbms_stats.gather_table_stats调整表的统计信息
创建实验表,插入10万行数据 SQL> create table test (id number,name varchar2(10)); Table created. SQL> decla ...
- zkui部署
1.拉取代码 #git clone https://github.com/DeemOpen/zkui.git 2.构建并安装程序 #cd zkui/ #yum install -y maven #mv ...
- C++的逐过程和逐语句的区别
1.逐语句是指在遇到函数调用语句的时候进入到函数内部执行. 2.逐过程是指在遇到函数调用语句时把函数当作一条语句执行.
- POJ3728 THE MERCHANT LCA RMQ DP
题意简述:给定一个N个节点的树,1<=N<=50000 每个节点都有一个权值,代表商品在这个节点的价格.商人从某个节点a移动到节点b,且只能购买并出售一次商品,问最多可以产生多大的利润. ...
- BZOJ_3489_ A simple rmq problem_KDTree
BZOJ_3489_ A simple rmq problem_KDTree Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这 ...
- 截图工具,更改系统默认快捷键,系统配置实用程序,以管理员身份运行cmd(win7)
截图工具: 开始--附件--右键发送到桌面快捷方式---桌面截图工具右键属性--快捷方式 更改系统默认快捷键: 控制面板--外观和个性化--调整屏幕分辨率--高级设置---英特尔图形和媒体控制面板-- ...
- 为Xen虚拟机扩容根文件系统(LVM)
===== 为Xen虚拟机扩容根文件系统(LVM) ===== 1. 增加1个4G的映像文件 # dd if=/dev/zero of=data.img bs=4k seek=1024k count= ...
- PBE加密算法
这是我参加全国信息安全大赛的设计的加密系统中的一个加密算法,虽然比赛的结果不是非常理想但是,我还是学到了很多东西,现在和大家分享一下,比赛收获的东西. 基于口令加密 PBE(Password Base ...
- 2 pyspark学习----基本操作
1 spark的python环境部署可以参照上面一篇哟.http://www.cnblogs.com/lanjianhappy/p/8705974.html 2 pyspark的基本操作. # cod ...
- TypeScript完全解读(26课时)_8.ES6精讲-ES6中的类(进阶)
8.TypeScript完全解读-ES6精讲-类(进阶) 在index.ts内引入 Food创建的实例赋值给Vegetabled这个原型对象,这样使用Vegetables创建实例的时候,就能继承到Fo ...