canvas 基础

canvas是html5新设的元素对象,它的存在就相当于在浏览器窗口内给我们准备出canvas元素的区域的空白画布让我们随意填写,当然,画画的“笔”就是canvas给我们的接口啦。另外canvas是按照我们所设的代码规则按像素将图像画出的,相当于位图。<canvas>默认定义大小为300像素宽150像素高,一般会在canvas标签内设置canvas大小,例如,<canvas width="600" height="200"></canvas>即设置了600*200大小的画布区域。有人会问,如果我不在canvas标签内设置大小,我通过css设置canvas大小会怎样呢?答案是canvas是css设置的那么大,不过是把默认的300*150伸展或压缩到css设置的大小。

canvas只有高级浏览器会支持,如果是低端浏览器怎么办呢?可以在canvas标签内设置提示内容,像这样,<canvas>您的浏览器不支持canvas!</canvas>,这样低端浏览器解析到canvas标签时会把提示内容展示出。

下面具体介绍一下canvas的“画笔”

首先取得canvas上下文内容:

var canvas = document.getElementById(‘myCanvas‘); //<canvas width="300" height="200" id="myCanvas"></canvas>

var context = canvas.getContext(‘2d‘); //目前就是取canvas的2d上下文

1.实心的矩形

context.fillRect(10, 11, 100, 101);//从(10,11)这个坐标位置开始画,宽度为100,高度为101

如果想画一个粉红色的实心矩形,应该这么做:

context.fillStyle = ‘pink‘;//context.fillStyle 可以设置画笔颜色,设置好之后后面画出的图形颜色就是pink啦(注意只是设置填充的颜色)

context.fillRect(10,11,100,101);

举个栗子,如果想设置画布背景色为blue可以这么来:

context.fillRect(0, 0, canvas.width, canvas.height);

2.线

画一条从(110,150)到(250,75)的直线。

context.beginPath();

context.moveTo(110,150);

context.lineTo(250,75);;//以上几步像用铅笔描了一下路线一样,而且只有我自己能看见别人看不见,“画在心中”

context.lineWidth = 5;

content.stroke();//直线画出来了

如果是想画一个空心的三角形呢?这样来:

context.beginPath();

context.moveTo(110,150);

context.lineTo(250,75);

context.lineTo(75,250);

context.closePath();//线闭合

context.stroke();//三角形画出来了

3.弧

弧的接口是这样的:

context.arc(x,y,radius,startAngle,endAngle,direction);

x,y:为圆心坐标

radius:为半径

startAngle:为相对于x轴的起始弧度

endAngle:相对于x轴的终止弧度

direction:顺时针画还是逆时针画。true为逆时针false为顺时针

例如:如果想画一个第一象限的弧可以这么来

context.arc(100,100,75,0,(90*Math.PI)/180,true)//例子错误,待续。。

canvas 基础

时间: 2024-10-01 07:31:24

canvas 基础的相关文章

canvas基础知识

低版本的ie不支持html5,需要引入excanvas.js来让ie支持canvas.检测<canvas id="canvas" width="150" height="200" > 你的浏览器不支持canvas</canvas>var canvas = document.getElementById('canvas');if(canvas.getContext) alert('支持canvas'); >> 绘

canvas基础绘制-绚丽倒计时

效果图: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ball</title> <script src="digit_1.js"></script> <script src="countdown.js"></

canvas基础绘制-绚丽时钟

效果图: 与canvas基础绘制-绚丽倒计时的代码差异: // var endTime = new Date();//const声明变量,不可修改,必须声明时赋值: // endTime.setTime( endTime.getTime() + 3600*1000);//当前时间向后一小时: var curShowTimeSeconds = 0; function getCurrentShowTimeSeconds() { var curTime = new Date();//获取目前时间: /

五分钟学会 Canvas 基础(二)

0. 前言 相信各位小伙伴读了之前的文章,对 Canvas 基础已经有了一定的认识和了解,但是大家也一定记得我在上一篇文章留了一个小的坑. 就是我没有告诉大家该如何去绘制圆,之所以没有说是因为绘制圆实际上是因为 CanvasRenderingContext2D 对象只提供了两个绘制矩形的方法,并没有直接提供绘制圆,椭圆等几何图形的方法.为了在 Canvas 上绘制更复杂的方法,必须在 Canvas 上启用路径,借用路径来绘制图形. 那么我们现在就一起来看一看,该如何使用路径来绘制圆等图形吧. -

Android Graphics专题(1)--- Canvas基础

作为Android Graphics专题的开篇,毫无疑问,我们将讨论Android UI技术的核心概念--Canvas. Canvas是Android UI框架的基础,在Android的控件体系中,所有容器类.控件类在实现上都依赖于Canvas,界面的绘制实质上都是Canvas绘制的.本文将讨论Canvs的由来,并通过实例展示Canvas的基础用法. 对于应用开发而言,我们可以不去深究Canvas与Android 控件体系的实现细节,但明白Canvas与控件的关联有助于我们更好的使用Canvas

11.分钟学会 Canvas 基础(二)

0. 前言 相信各位小伙伴读了之前的文章,对 Canvas 基础已经有了一定的认识和了解,但是大家也一定记得我在上一篇文章留了一个小的坑. 就是我没有告诉大家该如何去绘制圆,之所以没有说是因为绘制圆实际上是因为 CanvasRenderingContext2D 对象只提供了两个绘制矩形的方法,并没有直接提供绘制圆,椭圆等几何图形的方法.为了在 Canvas 上绘制更复杂的方法,必须在 Canvas 上启用路径,借用路径来绘制图形. 那么我们现在就一起来看一看,该如何使用路径来绘制圆等图形吧. -

Canvas基础认识

HTML5 Canvas 简单的说就是js+html5可以自定义绘制任何图形 认识Canvas元素 <canvas id="canvas" width="500" height="500"> <!-- 不支持canvas的浏览器,这里会显示~~ --> </canvas> 上面即是一个标准的Canvas的元素,暂时先当一个div去理解,只不过这个Canvas可以作图而已. 认识2D渲染上下文 通过js去访问,这

canvas 基础知识整理

canvas这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上. html的基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset=UTF-8> <title>Document</title> <style> #myCanv

【转】五分钟学会 Canvas 基础(一)

原文:http://www.jianshu.com/p/d9ec1ef9c1e8 0.前言 最近忙里偷闲,来写的这篇文章,但是中午出去吃个饭,回来因为自己的误操作,把上午的文章全删除了,还没法找回. 小编真的是瞬间觉得整个人生都灰暗了. 心塞,这次真的不想多说什么了. -------------我是华丽的分割线-------------- 终于把这篇文章写完了,关于本文,针对读者主要是之前从未接触过 Canvas的同学.当然,你要学 canvas 一定要有 JS 基础啦. 其次就是,因为前前后后