Fabricjs:如何仅显示图像的一部分?

问题描述 投票:1回答:1

我想使用fabricjs在画布上显示图像的一部分(例如html和css中的sprite和background-position)。默认情况下,fabricjs会从图像的左上角显示。但我想显示图像的一部分,而不是从左上方。

example

例如:我想在画布上显示此图片的黑色边框部分。

我在fabricjs中看不到任何可以做到这一点的属性或函数。你有建议吗?谢谢

html image canvas fabricjs crop
1个回答
0
投票

您是否尝试过cropX / cropY?将它们与设置的宽度和高度结合在一起:

const canvas = new fabric.Canvas('c')
const url = 'https://i.stack.imgur.com/qVhbV.jpg'
const imgEl = document.createElement('img')
imgEl.src = url
imgEl.onload = () => {
  const img = new fabric.Image(imgEl)
  img.set({
    cropX: 70,
    cropY: 140,
    width: 200,
    height: 150,
  })
  canvas.add(img)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"></script>
<canvas id="c" width="300" height="200"></canvas>
© www.soinside.com 2019 - 2024. All rights reserved.