Fabric.js 径向渐变

JavaScript/前端
363
0
0
2022-11-08
标签   JavaScript库

径向渐变

Fabric.js 径向渐变

<template> 
  <canvas width="600" height="600" id="canvas" style="border: 1px solid #ccc;"></canvas>
</template>

<script setup>
import { onMounted } from 'vue'
import { fabric } from 'fabric'

function init() {
  let canvas = new fabric.Canvas('canvas')  // 实例化fabric,并绑定到canvas元素上

  // 圆 
  let circle = new fabric.Circle({
    left: 100,
    top: 100,
    radius: 50,
  })

  let gradient = new fabric.Gradient({
    type: 'radial',
    coords: {
      r1: 50, // 该属性仅径向渐变可用,外圆半径 
      r2: 0, // 该属性仅径向渐变可用,外圆半径   
      x1: 50, // 焦点的x坐标 
      y1: 50, // 焦点的y坐标 
      x2: 50, // 中心点的x坐标 
      y2: 50, // 中心点的y坐标
    },
    colorStops: [
      { offset: 0, color: '#fee140' },
      { offset: 1, color: '#fa709a' }
    ]
  })

  circle.set('fill', gradient);
  canvas.add(circle)
}

onMounted(() => {
  init()
})
</script>

r1r2x1y1x2y2 这几个参数可以自己修改值然后看看效果,自己亲手改一下会理解得更深刻。

我之前在其他论坛上面看到有人说 Fabric.js 并没有提供径向渐变的用法。

径向渐变的例子,在官网上并没有给出。但实际是可以使用径向渐变的。