首页 > IT职业 > IT生活 > H5学习之路之初识canvas,了解下?
好吧,其实一直想写关于canvas的博文,但是奈何一直觉得看不太明白,总感觉是不是少了点什么,今天先粗略的介绍一下canvas-画布,写的哪里有问题的希望可以提出来,一起学习!
我们今天就简单的做个效果:

我们今天简单说一下怎么在画布上画一些东西。
做上面的这个首先我们明确一下步骤:
1、画布
2、画网格(下面我会说为什么画网格)
3、(根据坐标)插图片
4、插入视频
ok,我们就这几个步分别介绍一下。
1、画布
申请画布肯定是用到我们今天的主角:canvas
为了可以看出来大小,我们写一个css
那么这个时候的效果是:

一个画布就好了
2、画网格
为什么要画网格呢?其实用过这个都知道,里面很多的效果实现都是通过坐标来实现定位的,那么我们一般的话定坐标最好的办法就是有一个类似网格的坐标轴,这样可以直接看到我们需要的坐标。
PS:那么这里需要明确的一点就是,画布本身是不具备绘画的功能的,那么它其实只是一个容器,想要完成绘画的功能,是需要js实现的
var second = document.getElementById("mysecondcanvas");//第一步,拿到画布的元素
var cs = second.getContext("2d");//第二步,用getcontest方法准备画
for(var i =0;i效果是这样的:

3、引用图片

imag.onload = function(){
cs.drawImage(imag,0,0,40,40);//参数分别是起点坐标X,Y后面是宽度和高度
cs.drawImage(imag,40,40,120,120);
cs.drawImage(imag,160,160,240,240);
}这个时候的效果是这样的:

4、引入视频
这里用到的是一个H5的新的属性:video
用法也是很简单的:
上面的属性呢其实我在之前的博客里面也是写过的,这里就不做赘述了。
将文件新加到画布里面:
vie.addEventListener('play', function() {var i=window.setInterval(function() {cs.drawImage(vie,0,200,400,200)},10);},false);
效果就是这样的:

ok到这里基本就做好了,完整的代码是这样的:
html>
<!--网格--><!--图片引用-->
<!--视频引用-->
这里需要注意的几个点是怎么开始使用:
var second = document.getElementById("mysecondcanvas");//拿到画布元素
var cs = second.getContext("2d");//使用2D绘制其实这个是由很多的方法的,我们这里不一一的介绍了,简单的用W3cSchool的笔记总结一下:
fillStyle设置或返回用于填充绘画的颜色、渐变或模式。
strokeStyle
设置或返回用于笔触的颜色、渐变或模式。
shadowColor
设置或返回用于阴影的颜色。
shadowBlur
设置或返回用于阴影的模糊级别。
shadowOffsetX
设置或返回阴影与形状的水平距离。
shadowOffsetY
设置或返回阴影与形状的垂直距离。
| 方法 | 描述 |
|---|---|
| createLinearGradient() | 创建线性渐变(用在画布内容上)。 |
| createPattern() | 在指定的方向上重复指定的元素。 |
| createRadialGradient() | 创建放射状/环形的渐变(用在画布内容上)。 |
| addColorStop() | 规定渐变对象中的颜色和停止位置。 |
| 方法 | 描述 |
|---|---|
| fillText() | 在画布上绘制"被填充的"文本。 |
| strokeText() | 在画布上绘制文本(无填充)。 |
| measureText() | 返回包含指定文本宽度的对象。 |
| 方法 | 描述 |
|---|---|
| createImageData() | 创建新的、空白的 ImageData 对象。 |
| getImageData() | 返回 ImageData 对象,该对象为画布上指定的矩形复制像素数据。 |
| putImageData() | 把图像数据(从指定的 ImageData 对象)放回画布上。 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1754/viewspace-2809612/ ,如需转载,请注明出处,否则将追究法律责任。