Canvas Fabric JS层,其中一层带有控件

Canvas Fabric JS层,其中一层带有控件,canvas,html5-canvas,fabricjs,Canvas,Html5 Canvas,Fabricjs,我有一个三层图像,允许用户将图像放置在两层之间的透明窗口中。除了我可以拖动中间层外,一切都正常工作。我可以使用控件调整大小,但不能将层拖动到适当的位置 我已尝试将canvas.controlsBoveOverlay=true但这没有效果 最终的结果是,我可以使用所有控件在透明窗口中移动图像并调整其大小。您可以分别为底层和顶层使用和图像 演示 var img01URL='1〕https://www.google.com/images/srpr/logo4w.png'; var img02URL=

我有一个三层图像,允许用户将图像放置在两层之间的透明窗口中。除了我可以拖动中间层外,一切都正常工作。我可以使用控件调整大小,但不能将层拖动到适当的位置

我已尝试将
canvas.controlsBoveOverlay=true但这没有效果

最终的结果是,我可以使用所有控件在透明窗口中移动图像并调整其大小。

您可以分别为底层和顶层使用和图像

演示
var img01URL='1〕https://www.google.com/images/srpr/logo4w.png';
var img02URL=http://fabricjs.com/lib/pug.jpg';
var canvas=new fabric.canvas('c'{
对,对,
身高:1500,
宽度:1000,
});
canvas.ControlsBoveOverlay=true
fabric.Object.prototype.set({
透明角:错误,
角落颜色:“rgba(102153255,0.5)”,
尺寸:12,
填充:5
});
fabric.Image.fromURL(“http://tfgasjstaging.wpengine.com/wp-content/uploads/2019/04/test.png“,(img)=>{
var img1=模拟量表(1)设置({
左:0,,
排名:0,
可选:false,
hasControls:false
});
img1.scaleToWidth(canvas.getWidth());
canvas.centerObject(img1);
canvas.setBackgroundImage(img1,函数(){
canvas.renderAll()
});
fabric.Image.fromURL(img01URL,(img)=>{
var img2=img.scale(1.set)({
左:0,,
排名:0,
是的,
哈斯:对
}).标度高度(300);
img2.applyFilters();
canvas.add(img2);
canvas.centerObject(img2);
img2.setCoords();
canvas.setActiveObject(img2);
fabric.Image.fromURL(“http://tfgasjstaging.wpengine.com/wp-content/uploads/2019/04/mask.png“,(img)=>{
var img3=img.刻度(1).设置({
左:0,,
排名:0,
可选:false,
hasControls:false
})
img3.applyFilters();
canvas.centerObject(img3);
canvas.setOverlayImage(img3,函数(){
canvas.renderAll()
});
});
});
});