文档章节

HTML5之帆布(canvas)(二)

博为峰教研组
 博为峰教研组
发布于 2016/12/12 11:20
字数 428
阅读 6
收藏 0

· 一个页面可以有多个画布,但是要为每个画布指定唯一的ID

· 默认情况下,画布是透明的

在画布上绘图

接下来我们开始在画布上绘制一个矩形。要画这个矩形,首先要确定矩形的位置,其次是矩形的大小。这里把矩形画在X = 10像素,Y = 10像素的位置,让它的高度和宽度都等于100像素。

· 1.首先获得画布元素的引用

· 2.获取画布的一个“2D”上下文

· 3.使用这个上下文莱绘制图像

<!DOCTYPE HTML>

<html>

<head>

    <title>Look what I Drew</title>

    <meta charset="utf-8">

    <style>

        canvas{

            border: 1px solid black;

        }

    </style>

 

    <script>

        window.onload = function () {

            //在画布上画个矩形

            var canvas = document.getElementById('draw');

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

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

        };

    </script>

</head>

 

<body>

    <canvas id="draw" width="600" height="200"></canvas>

</body>

</html>

失败处理

因为画布是HTML5中新增的特性,所以会遇到有些浏览器不支持的情况,这是我们就需要查看画布对象中是否存在的getContext方法:

<script>

    window.onload = function () {

        //在画布上画个矩形

        var canvas = document.getElementById('draw');

        //判断浏览器是否支持Canvas

        if (canvas.getContext) {

            console.info("you hava canvas");

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

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

        } else {

            console.info("soory, no canvas support ApI");

        }

 

 

    };

</script>

此外我们还可以这样做:

<canvas id="draw" width="600" height="200">Please upgrade your browser!</canvas>

只要浏览器看到不认识的元素,默认行为就显示其中包含的文本。所以,不支持帆布浏览的器看到<canvas>元素时,它们就会显示请升级浏览器!另一方面,支持画布的浏览器会直接忽略画布标记之间的所有文本,所以不会显示这个文本。

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
再来 10 个新鲜的 HTML5 教程

HTML5 火吗?看看 oschina 三天两头的 xx 个 xxx 就知道了。本文为你推荐最新的 10 个 HTML5 相关的教程,或许能启发你项目中的思路。 1. HTML5 canvas – Creating own Paint program Canva...

红薯
2011/11/15
3.9K
4
30 个必须看的 HTML 5 教程

HTML5 和 CSS3 拓展了Web 设计的可能性。有很多大量的设计师和开发者在web设计中开始学习并使用HTML 5。 这次我们推荐的30个有用的HTML 5 教程,相信会帮助开发者提升技能。列表如下: Maki...

小卒过河
2011/07/29
15.9K
7
10 在线工具用来简化 HTML5 编码

HTML5 肯定是会彻底改变我们创建的网站和Web应用程序。在这篇文章中,编制了10个非常强大的工具,以简化和增强你的HTML5的编码。 Initializr Initializr会为你生成一个干净的可定制的模板,基...

红薯
2011/08/16
3.1K
3
史无前例的 HTML5 资源参考指南

尽管 HTML5 规范在 2014 年之前不会有正式版本,很多设计师已经开始试水高级浏览器已经支持的部分 HTML5 功能。HTML5 为 Web 设计和应用开发打开了一扇全新的门,原生支持了以前只可能使用 ...

李长春
2012/03/02
0
1
推荐10款非常优秀的HTML5开发工具

HTML5发展如火如荼,随着各大浏览器对HTML5技术支持的不断完善以及HTML5技术的不断成熟,未来HTML5必将改变我们创建Web应用程序的方式。今天这篇文章向大家推荐10款优秀的HTML5开发工具,帮助...

长平狐
2012/10/09
156
0

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部