14-HTML<canvas>标签

Canvas基本使用

元素

效果:

默认的情况下,canvas是没有颜色的。

canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:看起来和标签一样,只是 只有两个可选的属性 width、heigth 属性,而没有 src、alt 属性。

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

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

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

用文本替换:

你的浏览器不支持canvas,请升级你的浏览器

下面是canvas标签的一些简单的用法

1.画矩形

实例解析:

首先,找到 元素:

var canvas=document.getElementById("canvas");

然后,创建 context 对象:

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

getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

下面的两行代码绘制一个红色的矩形:

ctx.fillStyle="#FF0000";

ctx.fillRect(0,0,150,75);

设置fillStyle属性可以是CSS颜色,渐变,或图案。fillStyle 默认设置是#000000(黑色)。

fillRect(x,y,width,height) 方法定义了矩形当前的填充方式。

2.Canvas 坐标

canvas 是一个二维网格。

canvas 的左上角坐标为 (0,0)

上面的 fillRect 方法拥有参数 (0,0,150,75)。

意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。

坐标实例

如下图所示,画布的 X 和 Y 坐标用于在画布上对绘画进行定位

3.在Canvas上画线

moveTo(x,y) 定义线条开始坐标

lineTo(x,y) 定义线条结束坐标

4.在canvas中绘制圆形

5.Canvas - 文本

使用 canvas 绘制文本,重要的属性和方法如下:

font - 定义字体

fillText(text,x,y) - 在 canvas 上绘制实心的文本

strokeText(text,x,y) - 在 canvas 上绘制空心的文本

6.Canvas - 渐变

渐变可以填充在矩形, 圆形, 线条, 文本等等, 各种形状可以自己定义不同的颜色。

以下有两种不同的方式来设置Canvas渐变:

createLinearGradient(x,y,x1,y1) - 创建线条渐变

createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

当我们使用渐变对象,必须使用两种或两种以上的停止颜色。

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.

使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。

使用 createLinearGradient():

7.Canvas - 图像

把一幅图像放置到画布上, 使用以下方法:

drawImage(image,x,y)

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180805A1HD2Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券