【发布时间】:2018-02-28 02:38:13
【问题描述】:
我需要在层之间移动对象,实际上我有一个主要工作区域(比如正方形),在这个工作区域内我有一个与外部相同的形状(出血形状),但尺寸更小,比如这个:
https://jsfiddle.net/p0hszz22/24/ [见圆形、正方形、矩形]
//@ add main square
function addSquare() {
clearThisCanvas();
var square = new fabric.Rect({});
canvas.add(square);
addSquare1(); //call bleedline square
}
//@ add bleedline square
function addSquare1() {
var square = new fabric.Rect({});
canvas.add(square);
centreOnCanvas(square);
}
所以我在画布上有两个对象,现在我的要求是当我添加任何图像并将该图像(或任何对象)移动到工作区域内时,虚线(出血形状)应该始终位于我的图像上方,所以它向用户提示图像或出血区域之外的任何内容将被忽略(当前情况:根本没有发生)
我尝试过的:
-
我试图改变这两个形状的顺序,当我选择了主形状(外部)时,我的漏血形状隐藏着。
我曾想过将这些形状组合成一个组,但还是没有成功。
我怎样才能做到这一点?我只需要在任何东西越过出血线时立即向用户展示,它不会被考虑。 任何我可以再次查找的研究链接或关键字或任何建议或任何示例都会有所帮助。
谢谢
PS:抱歉,小提琴中的代码实际上只是为了快速设置。
【问题讨论】:
-
查看这篇文章:stackoverflow.com/a/44498440/7132835 它可能对你有帮助
标签: javascript html5-canvas fabricjs layer