I want to display a part of image on canvas using fabricjs (like sprite and background-position in html, css). By default with fabricjs, it displays from the top, left point of image. But I want to display a part of image not from the top, left point.
For example: I want to display the black border part of this picture on canvas.
I don't see any property or function in fabricjs that can do that. Do you have suggestion ? Thank you
Have you tried cropX/cropY? Combine them with setting width and height:
const canvas = new fabric.Canvas('c')
const url = 'https://i.sstatic.net/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>