1. 在canvas标签中给出长宽(不带单位):<canvas width="600" height="600"></canvas>

 或者在js中设置长宽:canvas.width = 600; canvas.height = 600;

 注意:canvas是行内块元素,用CSS设置的width和height像素值是canvas在页面渲染出来的宽高,而用js设置或者在标签中直接给出的则是canvas的分辨率,二者有本质的区别。
    canvas元素的使用与普通的html元素并不相同,它有一个默认尺寸300*150,在css中设置宽高只能改变canvas的显示宽高,而并没有改变画布绘制时的尺寸,所以要为canvas设置绘制的尺寸,必须写在元素标签上或用JS设置。

2. 浏览器兼容时,不会显示canvas标签内的内容;不兼容时才会显示。

  <canvas width="600" height="600">您的浏览器不支持canvas标签</canvas>

3. var canvas = document.getElementById("canvas"); // 获取canvas标签
    var context = canvas.getContext("2d"); // 获取2d上下文环境

    context.beginPath();//可以开始绘制

    context.moveTo(100,100); //画笔移动到(100,100);
    context.lineTo(150,200); //创建一条从(100,100)到(150,200)的路径
    context.fillStyle = "#ccc"; //填充颜色为#ccc
    context.strokeStyle = "#fff"; //进行描边
    context.lineWidth = 5;
    context.fill();//进行填充
    context.stroke();//进行描边

    context.closePath();//关闭当前路径 (基于状态)

    关于closePath():当当前路径不是封闭路径时,使用closePath会自动将当前路径的首尾连接起来

    context.fillRect(x,y,w,h);
    context.clearRect(50, 30, 110, 35); //清除画布上的内容

    (50,30)为矩形起点,110.35为矩形长宽

   想绘制多条不封闭路径图形,在每次绘制新路径时使用beginPath即可
4. 绘制弧线
 context.arc(x,y,r,startingAngle,endingAngle,anticlockwise = false);
   参数分别为:圆心坐标,半径,起始角度,结束角度,时钟方向(false为顺时针、true为逆时针)
        三点钟方向为0pi,六点钟方向为0.5pi,九点钟为1.0pi,12点钟为1.5pi
   例如:context.arc(300,300,100,0,Math.PI*1.5,false);

5. 绘制矩形

 context.fillRect(x,y,w,h);
   context.strokeRect(50, 30, 110, 35)
   context.clearRect(50, 30, 110, 35); //清除画布上的内容

6. 绘制虚线

 context.setLineDash([a,b]);//a为虚线线段长度,b为虚线线段间隔长度

7. 取得canvas元素相对于浏览器窗口的位置

 element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置

8. 绘制图片

 cvs.drawImage(image.x,y,width,height);
   context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

   image可以是元素或是image对象,但不能是路径
   传递给 drawImage() 方法的图像必须是 Image 对象或 Canvas 元素

canvas常用api的更多相关文章

  1. html5 canvas常用api总结(一)

    1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...

  2. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

  3. html5 canvas常用api总结(二)--绘图API

    canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API. 绘画的时候canvas相当于画布,而 ...

  4. Selenium Web 自动化 - Selenium常用API

    Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作  1.1 用webdriver打开一个浏览器  1.2 最大化浏览器&关闭浏览器 ...

  5. canvas绘图API详解

    canvas绘图API详解 1.context的状态 矩阵变换属性 当前剪辑区域 context的其他状态属性: strokeStyle, fillStyle, globalAlpha, lineWi ...

  6. compass General 常用api学习[Sass和compass学习笔记]

    compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...

  7. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  8. C++ 中超类化和子类化常用API

    在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...

  9. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

随机推荐

  1. Mybatis框架 基础

    思维导图 @有对应的例子 @1接入数据库 配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOC ...

  2. IOS中UIScrollView的contentSize、contentOffset和contentInset属性

    IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时, ...

  3. RMQ算法 (ST算法)

     概述: RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中 ...

  4. J.U.C FutureTask之源码解析

    通过直接继承Thread, 实现Runnable接口来创建线程.但这两种方式都有一种缺陷:在执行完任务之后无法获得执行结果. 如果需要获得执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果, ...

  5. 多IP服务器应用可以有效的降低成本

    多IP的常规应用很多,SEO,EDM,VPN代理等.可以有效的解决成本,很多时候的租用一台高配置服务器通过XEN,hyper-V等虚拟化技术分割成VPS ,共用一台服务器就会大大的降低成本,这样就需要 ...

  6. C语言知识点总结

    本文采用思维导图的方式撰写,更好的表述了各知识点之间的关系,方便大家理解和记忆.这个总结尚未包含C语言数据结构与算法部分,后续会陆续更新出来,文中有漏掉的知识点,还请大家多多指正.

  7. java面向对象的三大特性——继承

    ul,ol { margin: 0; list-style: none; padding: 0 } a { text-decoration: none; color: inherit } * { ma ...

  8. html页面不显示中文

    问题:HTML编辑中文后无法在网页上显示中文 原因:是适用的 Cufon字体包不支持中文造成的. 简单粗暴的解决方法:如果你本来打算是去掉Cufon,可以看一看<如何禁用Cufon功能>. ...

  9. 【转】 要做linux运维工程师的朋友,必须要掌握以下几个工具才行

          本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入 ...

  10. jenkins安装配置[二]

    标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 安装依赖,如果本机已有java环境可跳过 yum install java- ...