使用setBackgroundImage()将backgroundImage添加到画布时,我无法找到将背景图像居中的方法。我需要将它居中,使其与画布中的中心路径对齐。
文档http://fabricjs.com/docs/fabric.StaticCanvas.html#setBackgroundImage显示各种信息,但似乎没有指定背景图像相对于画布的位置。
canvas.setOverlayImage('http://fabricjs.com/assets/honey_im_subtle.png',
canvas.renderAll.bind(canvas), {
scaleX:1,
scaleY:1,
top: 0,
left: 0,
originX: 'center',
originY: 'center'
});
这会将图像居中放在画布的左上角。我现在如何指定画布上的原点应该是中心/中心而不是上/左?
更新:是否有一个方法会在画布调整大小时动态更新?希望使用顶部和左侧的百分比值,但这似乎不起作用。
谢谢!
答案 0 :(得分:9)
我能够找到一个有效的解决方案,但如果调整画布大小,则无法自动更新:
var center = deviceCanvas.getCenter();
canvas.setOverlayImage('http://fabricjs.com/assets/honey_im_subtle.png',
canvas.renderAll.bind(canvas), {
scaleX:1,
scaleY:1,
top: center.top,
left: center.left,
originX: 'center',
originY: 'center'
});