HTML5 canvas基础制图之填充款式完成

日期:2021-01-19 类型:科技新闻 

关键词:怎么把小程序变成二维码,微信小程序怎么开通,微信小程序csdn,小程序开发,网络答题小程序

<canvas></canvas>是HTML5中新增的标识,用于绘图图型,具体上,这个标识和别的的标识1样,其独特的地方在于该标识能够获得1个CanvasRenderingContext2D目标,大家能够根据JavaScript脚本制作来操纵该目标开展制图。

<canvas></canvas>只是1个绘图图型的器皿,除id、class、style等特性外,也有height和width特性。在<canvas>>元素上制图关键有3步:

1.获得<canvas>元素对应的DOM目标,这是1个Canvas目标;
2.启用Canvas目标的getContext()方式,获得1个CanvasRenderingContext2D目标;
3.启用CanvasRenderingContext2D目标开展制图。

填充款式

前面用到的fillStyle和strokeStyle除设定色调外,还能设定别的填充款式,这里以fillStyle为例:

 •线形渐变色

应用流程
(1)var grd = context.createLinearGradient( xstart , ystart, xend , yend )建立1个线形渐变色,设定起止座标和终点站座标;
(2)grd.addColorStop( stop , color )为线形渐变色加上色调,stop为0~1的值;
(3)context.fillStyle=grd将取值给context。

 •轴向渐变色
该方式与线形渐变色应用方式相近,只是第1步接受的主要参数不1样
var grd = context.createRadialGradient(x0 , y0, r0 , x1 , y1 , r1 );接受起止圆心的座标和圆半径和终点站圆心的座标和圆的半径。

 •位图填充
createPattern( img , repeat-style )应用照片填充,repeat-style能够取repeat、repeat-x、repeat-y、no-repeat。 

JavaScript Code拷贝內容到剪贴板
  1. var canvas = document.getElementById("canvas");   
  2.     var context = canvas.getContext("2d");   
  3.   
  4.     //线形渐变色   
  5.     var grd = context.createLinearGradient( 10 , 10, 100 , 350 );   
  6.     grd.addColorStop(0,"#1EF9F7");   
  7.     grd.addColorStop(0.25,"#FC0F31");   
  8.     grd.addColorStop(0.5,"#ECF811");   
  9.     grd.addColorStop(0.75,"#2F0AF1");   
  10.     grd.addColorStop(1,"#160303");   
  11.     context.fillStyle = grd;   
  12.     context.fillRect(10,10,100,350);   
  13.   
  14.     //轴向渐变色   
  15.     var grd = context.createRadialGradient(325 , 200, 0 , 325 , 200 , 200 );   
  16.     grd.addColorStop(0,"#1EF9F7");   
  17.     grd.addColorStop(0.25,"#FC0F31");   
  18.     grd.addColorStop(0.5,"#ECF811");   
  19.     grd.addColorStop(0.75,"#2F0AF1");   
  20.     grd.addColorStop(1,"#160303");   
  21.     context.fillStyle = grd;   
  22.     context.fillRect(150,10,350,350);   
  23.   
  24.     //位图填充   
  25.     var bgimg = new Image();   
  26.     bgimg.src = "background.jpg";   
  27.     bgimg.onload=function(){   
  28.         var pattern = context.createPattern(bgimg, "repeat");   
  29.         context.fillStyle = pattern;   
  30.         context.strokeStyle="#F20B0B";   
  31.         context.fillRect(600, 100, 200,200);   
  32.         context.strokeRect(600, 100, 200,200);   
  33.     };   
  34.   

实际效果以下:

以上便是本文的所有內容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多适用脚本制作之家。