html5之canvas绘制图形的简单使用

本篇简单介绍一下h5新增元素canvas的使用。

1、canvas绘制矩形

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>canvas绘制矩形</title>
    <script type="text/javascript" src="canvas2.js"></script>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="400" height="300"></canvas>
</body>
</html>
js:

/**
 * Created by winson on 2016/9/11.
 */
function draw(id) {
    var canvas = document.getElementById(id);//用getElementById获取到canvas对象
    var context = canvas.getContext('2d');//取得上下文
    context.fillStyle = "green";//绘制背景的颜色
    context.strokeStyle = "#fff";//绘制边框的颜色
    context.lineWidth = 5; //设置画笔宽度
    context.fillRect(0, 0, 400, 300);//绘制
    context.strokeRect(50, 50, 180, 120);
}
附图


2、canvas绘制圆形

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>canvas绘制圆形</title>
    <script type="text/javascript" src="canvas3.js"></script>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="400" height="400"></canvas>
</body>
</html>
js:

/**
 * Created by winson on 2016/9/11.
 */
/*
 绘制圆形:
 1、开始创建路径
 2、创建图形路径
 3、创建完成,关闭路径
 4、设置绘制样式,然后调用绘制方法进行绘制
 */
function draw(id) {
    var canvas = document.getElementById(id);//用getElementById获取到canvas对象
    var context = canvas.getContext('2d');//取得上下文
    context.fillStyle = "#f1f1f2";//绘制背景的颜色
    context.fillRect(0,0,400,400);
    for (var i = 0; i < 10; i++)
    {
        context.beginPath(); //开始创建路径
        context.arc(i*30,i*30,i*10,0,Math.PI*2,true);//创建图形路径
        context.closePath(); //关闭路径
        context.fillStyle = "rgba(255,0,0,0.25)";
        context.fill();
        //context.strokeStyle = "red";
        //context.stroke();
    }
}
附图:


3、canvas绘制文字

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>canvas绘制文字</title>
    <script type="text/javascript" src="canvas4.js"></script>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="800" height="300"></canvas>
</body>
</html>
js:

/**
 * Created by winson on 2016/9/11.
 */
function draw(id) {
    var canvas = document.getElementById(id);//用getElementById获取到canvas对象
    var context = canvas.getContext('2d');//取得上下文
    context.fillStyle = 'green';//绘制背景的颜色
    context.fillRect(0,0,800,300);
    //文字的绘制
    context.fillStyle = "#fff"; //文字颜色
    context.strokeStyle = "#fff";
    context.font = "bold 60px '微软雅黑', '宋体'";
    context.textBaseline = "hanging";//有几种属性值
    //context.textAlign = "start";
    context.fillText('欢迎大家来到',20,30);
    context.fillText('春哥的博客',90,100);
    //context.fillText('交流学习',170,170);
    context.fillText('交流学习',170,170,800);//这个800是画布长度,这里是防止文字太多而出现溢出现象
    //context.strokeText('winson的BLOG',0,40);

}

附图:


4、canvas图形保存

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>canvas图形保存</title>
    <script type="text/javascript" src="canvas5.js"></script>
</head>
<body onload="draw('canvas')">
<canvas id="canvas" width="400" height="300"></canvas>
</body>
</html>
js:

/**
 * Created by winson on 2016/9/11.
 */
function draw(id) {
    var canvas = document.getElementById(id);//用getElementById获取到canvas对象
    var context = canvas.getContext('2d');//取得上下文
    context.fillStyle = 'green';//绘制背景的颜色
    context.fillRect(0,0,400,300);
    //将页面保存成图片
    window.location = canvas.toDataURL('image/jpeg');

}

5、canvas绘制动画

绘制动画有两种方式,通过变换X与Y轴、通过擦除。

不再给出demo。



简介: 新的 HTML5 规范旨在帮助开发人员更轻松的编写出各类 Web 应用,以顺应当前 SaaS,云计算以及 RIA 等技术的最新趋势。在 HTML5 得以广泛推广之前,开发人员通常使用 SVG,VML 等技术进行 Web 绘图操作,但这些基于 XML 的绘图语言声明式的绘图方式并不能满足复杂绘图操作在性能上的需求,比如 Web 游戏所需要的像素级别的绘图能力。HTML5 canvas 元素的出现填补了这种不足,开发人员可以使用 JavaScript 脚本语言在 canvas 中进行一系列基于命令的图形绘制操作,本文将通过讲解如何使用 canvas 元素进行基本绘图操作,以及完成简单的动画和用户交互任务,阐明 canvas 在帮助构建 Web 图形类应用时所能够提供的能力。更多html5相关信息请关注html5中国:http://www.html5cn.org 背景介绍 HTML5 中新引入的 canvas 元素使得 Web 开发人员在无须借助任何第三方插件(如 Flash,Silverlight)的情况下,可以直接使用 JavaScript 脚本在 Web 页面进行绘图。它首次由苹果公司的 Webkit 框架引入实现,并成功运用在 Safari 浏览器中,读者在 这里可以体验到基于 canvas 的精彩示例。目前,canvas 已成为 HTML5 规范中的事实性标准,并且已经被 Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera10.0+ 等浏览器所支持。最近(本文撰写之时),IE 也正式宣称将在其 9.0 版本之后,开始对 canvas 元素进行支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值