胆囊息肉

注册

 

发新话题 回复该主题

html基础代码大全 [复制链接]

1#
白癜风治疗费用 http://pf.39.net/xwdt/181005/6562617.html

一、canvas简介

canvas是HTML5新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的HTML元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染。

它最初由苹果内部使用自己MacOSXWebKit推出,供应用程序使用像仪表盘的构件和Safari浏览器使用。后来,有人通过Gecko内核的浏览器(尤其是Mozilla和Firefox),Opera和Chrome和超文本网络应用技术工作组建议为下一代的网络技术使用该元素。

Canvas是由HTML代码配合高度和宽度属性而定义出的可绘制区域。JavaScript代码可以访问该区域,类似于其他通用的二维API,通过一套完整的绘图函数来动态生成图形。

Mozilla程序从Gecko1.8(Firefox1.5)开始支持canvas,InternetExplorer从IE9开始canvas。Chrome和Opera9+也支持canvas。

二、Canvas基本使用

canvas元素

2.1canvas元素

canvas看起来和img标签一样,只是canvas只有两个可选的属性width、heigth属性,而没有src、alt属性。

如果不给canvas设置widht、height属性时,则默认width为、height为,单位都是px。也可以使用css属性来设置宽高,但是如宽高属性和初始比例不一致,他会出现扭曲。所以,建议永远不要使用css属性来设置canvas的宽高。

替换内容

由于某些较老的浏览器(尤其是IE9之前的IE浏览器)或者浏览器不支持HTML元素canvas,在这些浏览器上你应该总是能展示替代内容。

支持canvas的浏览器会只渲染canvas标签,而忽略其中的替代内容。不支持canvas的浏览器则会直接渲染替代内容。

用文本替换:

实例

用img替换:

实例

结束标签/canvas不可省略。

与img元素不同,canvas元素需要结束标签(/canvas)。如果结束标签不存在,则文档的其余部分会被认为是替代内容,将不会显示出来。

2.2渲染上下文(ThreRendingContext)

canvas会创建一个固定大小的画布,会公开一个或多个渲染上下文(画笔),使用渲染上下文来绘制和处理要展示的内容。

我们重点研究2D渲染上下文。其他的上下文我们暂不研究,比如,WebGL使用了基于OpenGLES的3D上下文(experimental-webgl)。

实例

2.3  检测支持性

实例

2.4  代码模板

2.5一个简单的例子

以下实例绘制两个长方形:

实例

三、绘制形状

3.1  栅格(grid)和坐标空间

如下图所示,canvas元素默认被网格所覆盖。通常来说网格中的一个单元相当于canvas元素中的一像素。栅格的起点为左上角,坐标为(0,0)。所有元素的位置都相对于原点来定位。所以图中蓝色方形左上角的坐标为距离左边(X轴)x像素,距离上边(Y轴)y像素,坐标为(x,y)。

后面我们会涉及到坐标原点的平移、网格的旋转以及缩放等。

实例

3.2  绘制矩形

canvas只支持一种原生的图形绘制:矩形。所有其他图形都至少需要生成一种路径(path)。不过,我们拥有众多路径生成的方法让复杂图形的绘制成为了可能。

canvast提供了三种方法绘制矩形:

1、fillRect(x,y,width,height):绘制一个填充的矩形。

2、strokeRect(x,y,width,height):绘制一个矩形的边框。

3、clearRect(x,y,widh,height):清除指定的矩形区域,然后这块区域会变的完全透明。

说明:这3个方法具有相同的参数。

x,y:指的是矩形的左上角的坐标。(相对于canvas的坐标原点)

width,height:指的是绘制的矩形的宽和高。

functiondraw(){varcanvas=document.getElementById(tutorial);if(!canvas.getContext)return;varctx=canvas.getContext(2d);ctx.fillRect(10,10,,50);//绘制矩形,填充的默认颜色为黑色ctx.strokeRect(10,70,,50);//绘制矩形边框}draw();

今天我们先写到这里明天继续写!

分享 转发
TOP
发新话题 回复该主题