Canvas--填充样式

Posted 穿山甲到底说了什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas--填充样式相关的知识,希望对你有一定的参考价值。

1、线性渐变:createLinearGradient(x0,y0,x1,y1)

  x0----渐变开始点的 x 坐标。

  y0----渐变开始点的 y 坐标。

  x1----渐变结束点的 x 坐标。

  y1----渐变结束点的 y 坐标。

  createLinearGradient() 方法创建线性的渐变对象。渐变可用于填充矩形、圆形、线条、文本等等。

  Tips:渐变对象可以作为 strokeStyle 或 fillStyle 属性的值。

  Tips使用 addColorStop(stop,color) 方法添加不同的颜色,以及在 gradient 对象中的何处定位颜色。

   stop:取值0.0~1.0,表示渐变中开始与结束之间的位置

   color:在stop位置显示的颜色值

1 const grd = context.createLinearGradient(50,50,200,50)
2 grd.addColorStop(0,\'#a1c4fd\')
3 grd.addColorStop(1,\'#c2e9fb\')
4 
5 context.fillStyle = grd
6 context.fillRect(50,50,200,150)

2、径向渐变:createRadialGradient(x0,y0,r0,x1,y1,r1)

  x0----渐变的开始圆的 x 坐标。

  y0----渐变的开始圆的 y 坐标。

  r0----开始圆的半径。

  x1----渐变的结束圆的 x 坐标。

  y1----渐变的结束圆的 y 坐标。

  r1----结束圆的半径。

1 const grd = context.createRadialGradient(200,150,0,200,150,100)
2 grd.addColorStop(0,\'#d4fc79\')
3 grd.addColorStop(1,\'#96e6a1\')
4 
5 context.fillStyle = grd
6 context.arc(200,150,100,0,2*Math.PI)
7 context.fill()

3、createPattern(image,"repeat-style"):createPattern() 方法在指定的方向内重复指定的元素。

  image----规定要使用的模式的图片、画布或视频元素。

  repeat-style----元素的重复方式。

1 const IMAGE = new Image();
2 IMAGE.src = \'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png\';
3 IMAGE.onload = function() {
4   var pattern = context.createPattern(IMAGE, \'repeat-x\');
5   context.fillStyle = pattern;
6   context.fillRect(0, 0, 400, 300);
7 }

  元素还可以是图片、视频,或者其他 <canvas> 元素:

 1 const createCanvas = ()=>{
 2     const CANVAS = document.createElement(\'canvas\')
 3     CANVAS.width = 100
 4     CANVAS.height = 100
 5     const ctx = CANVAS.getContext(\'2d\')
 6 
 7     const grd = ctx.createLinearGradient(0,0,100,0)
 8     grd.addColorStop(0,\'#a1c4fd\')
 9     grd.addColorStop(1,\'#c2e9fb\')
10 
11     ctx.fillStyle = grd
12     ctx.fillRect(0,0,100,100)
13 
14     return CANVAS
15 }
16 
17 const backCanvas = createCanvas()
18 const pattern = context.createPattern(backCanvas, \'repeat\')
19 context.fillStyle = pattern;
20 context.fillRect(0, 0, 400, 300);

 

以上是关于Canvas--填充样式的主要内容,如果未能解决你的问题,请参考以下文章

canvas学习笔记

设置 HTML5 Canvas 的背景填充、描边和不透明度

canvas基础API

[Canvas学习]样式与颜色

[js高手之路] html5 canvas系列教程 - 文本样式(strokeText,fillText,measureText,textAlign,textBaseline)

canvas