html 5 canvas画布整理

1. 创建canvas画布
<canvas id="myCanvas" width="800" height="800" ></canvas>
注意:(1)width、height,这两个属性定义了canvas元素宽和高,从而相应的定义了2D渲染上下文的尺寸。
   (2)2D渲染上下文的尺寸默认值:宽300像素、高150像素。
2. 坐标
左上角为原点(0,0)
右移:x坐标增加
下移:y坐标增加
3. 2D渲染上下文(真正绘制图形的地方)

<script type="text/javascript">

    var canvas = document.getElementById(‘myCanvas‘);   // 获取canvas的ID

    var context =canvas.getContext("2d");

</script>

第二部分:矩形
1.绘制矩形
方法:context.fillRect(x,y,width,height);
2.绘制描边矩形
方法:strokeRect(x,y,width,height)
实例:

<script>

    function draw1(id){

        var canvas = document.getElementById(id);  

        var context =canvas.getContext("2d");

        context.fillRect(0,0,100,100);  // 绘制一个矩形,默认颜色为黑色

        context.strokeRect(120, 0, 100, 100);     // 绘制描边矩形

    }draw1(‘myCanvas‘);

</script>

第三部分:线条
线条(路径)绘制步骤:
1)beginPath()      准备
2)moveTo()      绘制路径的原点坐标(x,y)
3) lineTo()         设置线条的终点坐标(x,y)
4) closePath()      完成路径的绘制
5)stroke()       绘制轮廓,显示路径 
实例:

<script>

    function draw1(id){

        var canvas = document.getElementById(id);  

        var context =canvas.getContext("2d");

        context.beginPath();

        context.moveTo(40,40);

        context.lineTo(140,40);

        context.closePath();

        context.stroke();

    }draw1(‘myCanvas‘);

</script> 

第四部分:圆形
canvas 通过绘制圆弧并将其首尾相连,达到绘制圆形的目的。
创建圆弧的方法:context.arc(x, y, radius, starAngle,endAngle, anticlockwise)
对应参数:
1)圆弧原点的(x,y)坐标值,也就是例子中的圆心
2)圆弧半径
3)开始角度
4)结束角度
5)布尔值(顺时针false,逆时针true) 
注意: canvas中的圆是以弧度而不是角度为单位的。
360度(一个完整的圆)是2π(PI的2倍)弧度
实例:

<script type="text/javascript">

    function draw1(id){

        var canvas = document.getElementById(id);  

        var context =canvas.getContext("2d");

        context.beginPath();

        context.arc(230,90,50,0,Math.PI*2,false); // 绘制圆形

        context.closePath();

        context.fill(); // 填充路径

    }draw1(‘myCanvas‘);

</script>

第五部分:样式
1. fillStyle :给矩形填充颜色
2. strokeStyle:给描边和线条添加颜色
3. lineWidth:修改线宽(线宽默认为1),这个属性也会影响图形

通过设置2D渲染上下文的fillStyle属性,就能够修改形状和路径的填充颜色,如下,绘制一个红色的正方形

<script type="text/javascript">

    function draw1(id){

        var canvas = document.getElementById(id);  

        var context =canvas.getContext("2d");

        context.fillStyle = "red";    // 给图形填充红色

        context.fillRect(0,0,50,50);     // 一个红色的正方形

        context.fillRect(70,70,80,80);    // 又一个红色正方形

        context.fillStyle = "blue";      // 给图形填充蓝色

        context.fillRect(70,70,80,80);     // 一个蓝色正方形

        context.strokeStyle = "yellow";      // 给图形填充黄色描边

        context.strokeRect(170,170,100,100);    // 一个黄色描边的正方形

        context.strokeStyle = "blue";   // 绘制蓝色线条

        context.beginPath();     // 绘制线条开始

        context.moveTo(290,290);

        context.lineTo(350,350);

        context.closePath();

        context.stroke();    // 绘制线条结束

        context.lineWidth = 5;   // 加粗线条

        context.strokeStyle = "blue";     // 绘制蓝色线条

        context.beginPath();

        context.moveTo(320,340);

        context.lineTo(370,390);

        context.closePath();

        context.stroke();     // 加粗的线条绘制完成

        context.strokeRect(380,380,50,50)     // 受影响的图形,描边已加粗

    }draw1(‘myCanvas‘);

</script>

 

第六部分:绘制文本
canvas绘制文本:
(1) canvas中的文本以图片形式绘制,不可用普通文字一样用鼠标指针选取
(2) 文字绘制后不可编辑,除非先擦除文字,重新绘制
注:通常是使用html来处理文本,使用canvas来处理像素和图形
1.绘制文本:fillText 
参数:
准备绘制的文本,文本原点(左下角)的(x,y)坐标值
默认:10px sans-serif
2.修改文字属性:font
3.描边文本:strokeText

<script type="text/javascript">

    function draw1(id){

        var canvas = document.getElementById(id);  

        var context =canvas.getContext("2d");

        var text = "hello world!";

        context.font="30px serif" // 把文本大小设置为30px

        context.fillText(text,40,40); // 绘制文本

        context.strokeText(text,40,80); // 描边文笔塔你

    }draw1(‘myCanvas‘);

</script>

时间: 2024-10-16 04:33:49

html 5 canvas画布整理的相关文章

将Canvas画布内容保存为jpg格式图片

/// <summary>        /// 功能:将Canvas画布内容保存为jpg格式图片        /// 作者:GYS | 日期:2013年9月9日        /// </summary>        /// <param name="filePath"></param>        /// <param name="pixBox"></param>        pri

如何在html5的canvas画布中绘制gif动态图片

我们都知道如何在html5的canvas画布上绘制静态图片(jpeg, png等),直接用canvas中的drawImage方法即可,那么如何绘制动态图片(gif)? 相信大家都知道动态图片之所以动态,是因为它是由很多图片按一定的帧数顺序播放而成的,因此我们是否也可以模拟这样的帧数,每隔一定的时间重新 绘制图片,就能画出动态图片呢?答案当然是YES.下面就是我自己测试的一个例子,代码如下: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 &l

用canvas画布画一个画板

前段时间,在对H5的回顾中突然对canvas有了感觉,闲来无事便对其进行了一些捯饬.这不,上周我还做了一个好玩的画板呢,废话不多说,直接上代码(PS:翠花,上代码~): HTML部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Canvas 制作画板</title> <style> h1

JavaScript之Canvas画布

canvas可以在页面中设定一个区域,再利用JavaScript动态地绘制图像. 基本用法 使用canvas元素,首先设置width和height属性,为其设置绘制区域的大小,   如果没有设置宽度和高度,是看不到元素的,不能在其区域画图,在开始标签和结束标签之间的信息是后备信息,当用户的浏览器不支持canvas元素时会显示,用于友好地提示用户. <canvas id="canvas" width="400" height="300">

Particles.js基于Canvas画布创建粒子原子颗粒效果

文章目录 使用方法 自定义参数 相关链接 Particles.js是一款基于HTML5 Canvas画布的轻量级粒子动画插件,可以设置粒子的形状.旋转.分布.颜色等属性,还可以动态添加粒子,效果非常炫酷,能和鼠标互动吸附或者是躲避鼠标指针. 使用方法 1.该粒子动画库插件使用方法非常简单,首先要在页面中引入particles.js文件. <script src="js/particles.js"></script> 2.在页面中使用一个div来作为放置粒子的容器

HTML5中的&lt;canvas&gt;画布:使用canvas元素在网页上绘制四分之一圆(3)

前几天自己做了个四分之一的圆,放到手机里面测试.效果不是很好.于是今天通过查资料,找到了canvas.自己研究了一天,发现可以使用canvas画圆.代码如下: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 7 </head> 8 <body&g

【读书笔记《Android游戏编程之从零开始》】12.游戏开发基础(Canvas 画布)

1.Canvas 画布 画布类 Canvas 封装了图形和图片绘制等内容,此类常用的函数说明如下: drawColor(int color) 作用:绘制颜色覆盖画布,常用于刷屏 参数:颜色值,也可用十六进制形式表示(ARGB) drawText(String text,float x,float y,Paint paint) 作用:绘制文本字符 第一个参数:文本内容 第二.三个参数:文本的X.Y坐标 第四个参数:画笔实例 drawPoint(float x,float y,Paint paint

02 Canvas画布

学习笔记适合新手,如有错误请指正.?号处也请各位指点下,谢谢. Canvas画布是承载所有UI元素的区域 所有的UI元素都必须是Canvas的子对象 创建画布: 点击导航菜单>“GameObject”>”UI“>“Canvas”导航栏 Render Mode:渲染模式(Screen Space—Overlay.Screen Space—Camera.World Space) Pixel Perfect:只有RenderMode为Screen类型才有的选项,使UI元素像素对应,效果是边缘清

【一天一个canvas】Canvas画布调整之移动、缩放、旋转(九)

有些人有些不解,为什么Canvas的坐标是从左上角开始的,而且向下是Y的正方向,向右是X的正方向?其实我也很不理解~~ 为什么就不能给我们更多的自定义功能呢?下面我改写了一段Canvas画布调整的代码,包含了Canvas画布的移动.缩放和旋转等相关功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <style type="text/c