跟KingDZ学HTML5之三 画布Canvas

继续更新我们的教程,哈哈,个人觉得 ,这个HTML5 的官方 LOGO  怎么看,怎么像变形金刚。

神马关系~~~~~~~~~~~

<Canvas> 是HTML5中新出现的一个元素。就是可以通过  JS绘制图形。

目前浏览器对 Canvas 的支持情况如下

IE FF Chrome Safari Opera IPhone Android
版本7.0以上 版本3.0以上 版本3.0以上 版本3.0以上 版本10.0以上 版本1.0以上 版本1.0以上

IE7 和  IE8  需要一个 第三方的 类库  ExplorerCanvas  支持   IE9 不需要  ,FF===Firefox。

画布(Canvas)是一个没有内容也没有边框的矩形区域。我们可以控制里面的每一个像素。

下面我们首先定义一个 Canvas元素

 <canvas id="fistcancas" width="300" height="300"></canvas>

好了 ,这个就是最基本得一个  canvas 元素的定义方法了。

canvas 只有两个属性,width和height,这些属性可选并且可以通过JS或者css来控制。默认值是 width=300  height=150

当然考虑到,可能浏览器不支持,所以我们就采用前两节课的方法

    <canvas id="fistcancas" width="300" height="300">
        <img src="2.png" width="300" height="300" alt="error">
    </canvas>
    <canvas id="secondcancas" width="300" height="300">
        对不起,浏览器不支持此标签
    </canvas>

好了,我们继续吧。简单的创建完成之后,下面开始我们的一些常规的操作吧。当然,你可以给 canvas 添加一些  样式表的操作,如下面得图形。

    <canvas id="fistcancas" style="border:2px dotted red;" width="100" height="100">
        不支持此标签
    </canvas>

画布的初始化是空白的,什么都没有滴,我们要做的就是 画图,当然这个需要JS啦。

好了,开始吧,首先来一个最简单的,画一个100*100的正方形,填充色为绿色。

<! doctype html>
<html>
<head>
<script type="text/javascript">
        function draw() {
            var c = document.getElementById("firstcancas");
            var cxt = c.getContext("2d");
            cxt.fillStyle = "#00ff00";
            cxt.fillRect(0, 0, 150, 150);
        }
</script>
</head>
<body>
    <canvas id="firstcancas"  width="100" height="100">
        浏览器不支持此标签
    </canvas>
    <input type="button" value="画图" onclick="draw();" />
</body>
</html>

好了 ,这个的效果

下面,简单的说明一下上面的那个  draw 方法

var cxt = c.getContext("2d");

使用脚本画图首先需要渲染上下文(rendering context),

它可以通过canvas元素对象的getContext方法来获取,同时得到的还有一些画图需要调用的函数。

getContext() 接受一个用于描述其类型的值作为参数。也就是  后面的 “2d” 或者 “3d”

还有 ,请大家注意 这个地方的 2d 或者 3d[目前不支持]  一定要是小写的 ,大写的可是会发生错误的哦

cxt.fillStyle = "#00ff00"; 这个不用说了,肯定是填充颜色啊

通过 fillStyle 和 strokeStyle 属性可以轻松的设置矩形的填充和线条。

颜色值使用方法和 CSS 一样:十六进制数、rgb()、rgba() 和 hsla()( 若浏览器支持,如Firefox)。

通过 fillRect 可以绘制带填充的矩形。

使用 strokeRect 可以绘制只有边框没有填充的矩形。

如果想清除部分 canvas 可以使用 clearRect。

上述三个方法的参数相同:xywidthheight。前两个参数设定 (x,y) 坐标,后两个参数设置矩形的高度和宽度。

下面我们尝试着做一些器奇怪的效果。

    <script type="text/javascript">
        function draw() {
            var c = document.getElementById("firstcancas");
            var cxt = c.getContext("2d");
            //红色区域,及其坐标
            cxt.fillStyle = "rgb(240,0,0)";
            cxt.fillRect(50, 50, 160, 160);
            //在红色区域上面 添加一个灰色的区域,并且设置 透明度为 0.6
            cxt.fillStyle = "rgba(100, 100, 100, 0.6)";
            cxt.fillRect(30, 30, 200, 200);
            //设置在最外面有一个绿色的只有边框的矩形
            cxt.strokeStyle = "#00ff00";
            cxt.lineWidth = 5;   //设置边框的宽度为 5
            //最后去掉 这个图形的中心。
            cxt.strokeRect(30, 30, 200, 200);
            cxt.clearRect(80, 80, 100, 100);
        }
</script>

好了,说明很详细了,效果如下

好了,这节课程就到此结束了,欢迎大家关注 俺,期待大家点一下推荐,哈哈,谢谢了。

时间: 2024-10-15 14:48:40

跟KingDZ学HTML5之三 画布Canvas的相关文章

跟KingDZ学HTML5之五 探究Canvas之图像与文字

大家好,这节课咱们继续讲解 canvas 这个标签的一些常见的使用,呵呵,这个标签还是真的挺有用途的. 这节课程首先说明的是 如何才 canvas 中插入图像. canvas 插入图像的步骤:呵呵,又来了. 1.首先当然准备一张图片了. 2.用 drawImage 方法将图像插入到 canvas 中. drawImage 方法 有三种形态的参数可以选择 第一种: 我们先用最简单的方法写一个例子 drawImage(image, x, y) 其中 image 是 image 或者 canvas 对

跟KingDZ学HTML5之七 探究Canvas之各种特效

初看到题目大家怎么个反应啊,哇塞,这么多啊,可是看完这节课程之后,你会发现这些功能不过如此. 1>移动  translate(x, y) 简单的说明一下 ,X  左右偏移量   Y  上下偏移量 说白了,就是说,假如原先的坐标在 (0,0) 那么 使用 translate(100,100) 之后,坐标就到 (100,100)这个点了 . 然后,我们首先呢,我先写个  "王"  哈哈,俺的姓. 效果图 哈哈. 大家可以看到,这是的坐标是以(0,0)为原点的.下面我们就想办法,将他更

跟KingDZ学HTML5之四 继续探究Canvas之路径

哈哈,开始吧,这节课第一个内容是 路径.路径,顾名思义,就是俺拿着画笔,划线呗. 画图的几个步骤. 第一步:找个起点开始画图.----beginPath; 第二步 : 划线,画出自己想要的图像 . 第三步:完成图形,关闭路径. 当然也可以什么都不做,就是画一个点或者一条线   ----- closePath 第四步:填颜色. 哈哈,对不对啊,俺上小学,美术老师就是这么教的. 好了,先随便画一个图形吧.---画一条线,(*^__^*) 嘻嘻-- <script type="text/java

跟KingDZ学HTML5之八 HTML5之Web Save

好了,今天有事崭新的一天啊,经过前面几个课程的学习,我想大伙应该差不多已经可以写一些HTML5的应用了,Canvas 的用途太多了,我以后和大家慢慢的谈论,呵呵 弄不好,开个专题,也可以.(*^__^*) 嘻嘻--.好了开始我们今天的课程吧. 大家都应该知道 Cookies 这个东东哦,但是太郁闷了,他只有 4K  ?  真的啊,呵呵,要是工资底薪还可以..哈哈 这节课,俺说的这个和COOKIES 差不多.好了,废话不多说,我们讲课. HTML5 提供了两种在客户端存储数据的新方法: local

跟KingDZ学HTML5之九 HTML5新的 Input 种类

好了,我们这节课讲解的可能有些难以测试,因为目前很多浏览器都不支持,这些新增加的标签,我也只能,尽可能的去找支持的浏览器给大家测试展示效果. HTML5中新增加了很多  Input 的种类. 1.<input type="search">    查询文本框 2.<input type="number"> 数字文本框 3.<input type="range">     滑动条 4.<input type=

跟KingDZ学HTML5之十三 HTML5颜色选择器

这节课主要给大家展示两个实例,当然,都是灰常简单的. 首先是第一个效果,颜色选择器,这个效果如下 我想大家,很多人都做过其他版本的这个东东吧,对了,这次就是要在HTML5里面简单的实现一下 首先要做的就是准备工作了 <canvas id="text" width="100" height="100"></canvas> <p>Red: <input type="range" id=&q

跟KingDZ学HTML5之二 再见Audio和Video

呵呵,大家别见怪啊,这篇文章可不是和这两个标签 说BYE-BYE  而是,进一步的 运用这两个标签. 好了,我们这节课一开始,第一个例子,用JS控制  这两个标签,哦,对了,我之讲解一个了,这两个哥们的功能太像了,其他的大伙自己去理解吧. <! DOCTYPE HTML> <html> <head> <script type="text/javascript"> function Show() { var video = document

跟KingDZ学HTML5之十一 HTML5 Form 表单新元素

新的课程又开始,哈哈,最近的文章更新比较快,希望大家跟上俺的步伐啊,呵呵,但是每当看到阅读量,哎,还真不多,可是俺还要坚持写下去,不知道,大家是不是都没有在研究HTML5呢? 这节课程,讲的是 From 表单 新增加的几个新的元素,他和前面的两节课程 同属于一个范围,只不过长的比较特殊.所以就提炼出来了. 旁白:俺不是前端工程师啊,学习HTML5完全是因为,哈哈,这个东西太酷了.俺是正宗滴NET程序员 好了第一个出现的新元素是 datalist 哈哈,这个好解释了,前面我们已经使用过了. 还是用

跟KingDZ学HTML5之十二 HTML5 Form 表单元素新增属性

这节课给大家补充一下,一些 前些课程没有接触的知识. 在XHTML中,表单内的从属元素必须书写在表单内部,但是在HTML5中,可以把他们书写在页面上任何地方,然后给元素制定一个form属性,属性值为该表单单位的id,这样就可以声明该元素从属于指定表单了. 这个我想对于我们来说,应该是个很新奇的玩意吧 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>form