<template>
<canvas width="400" height="375" id="canvas" style="border: 1px solid #ccc;"></canvas>
</template>
<script setup>
import { onMounted } from 'vue'
import { fabric } from 'fabric'
import jailCellBars from '@/assets/images/jail_cell_bars.png'
function init() {
const canvas = new fabric.Canvas('canvas')
canvas.add(
new fabric.Circle({
radius: 30,
fill: '#f55',
top: 70,
left: 70
canvas.setOverlayImage(
jailCellBars,
canvas.renderAll.bind(canvas)
onMounted(() => {
init()
</script>
值得注意的2点:
使用
canvas.setOverlayImage
代替原本的
canvas.setBackgroundImage
。
所使用的图片最好是带透明层的
png
,这样就能展示案例所示的效果,背景图叠在图案元素上面。
🎁 本例所使用的图片地址
Fabric.js
canvas
本作品采用
《CC 协议》
,转载必须注明作者和本文链接