【问题标题】:sendToBack / sendBawark does not hide the object to against the other object Fabric.jssendToBack / sendBawak 不会将对象隐藏到另一个对象 Fabric.js
【发布时间】:2017-04-12 18:09:02
【问题描述】:

我正在研究fabric.js 和canvas。我正在使用 fabric.js sendToBack / sendBaward 的属性,但它对我不起作用。我希望当我单击按钮发送到后面时,当前活动对象会转到另一个对象的后面。我的工作链接如下。

Cap Customizer

代码片段如下。

function moveBack()
{
	var sel_obj = canvas.getActiveObject();
	if(sel_obj)
	{
		console.log('back');
		canvas.sendToBack(sel_obj);
		canvas.renderAll();
	}
}

知道的人请帮帮我。

【问题讨论】:

    标签: javascript jquery fabricjs


    【解决方案1】:

    您误解了sendToBack 方法。根据doc,它适用于对象,而不是画布。

    因此,您应该使用 sendToBack 将所选对象移动到已绘制对象堆栈的底部,或使用 sendBackwards(true) 将其仅发送到绘制的第一个较低对象的后面。

    在这两种情况下,您都需要在 object 而不是 canvas 上使用该方法。如果您需要任何解释,请在评论中告诉我,但请先阅读链接的文档。

    【讨论】:

    • 我阅读了文档,但不明白如何在我的情况下申请 sendToBack / sendBackwards(true) 并且 BringToFront 不起作用
    • canvas.sendToBack(sel_obj) 替换为 sel_obj.sendToBack() 。这就是我总结我的答案的字面意思。
    • 我也尝试过这样的 sel_obj.sendToBack() 但它对我也不起作用。
    • 我不知道为什么?
    • 根据文档,sendToBack()将您的目标发送到绘制对象堆的底部。如果它没有提供您期望的结果,您可能需要调查您的画布属性和设置,因为它应该。
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2017-01-02
    • 2018-04-24
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多