javascript - FabricJS 在事件对象/选择周围渲染阴影?

标签 javascript html css canvas fabricjs

快速简单:有没有一种方法可以在单击事件的 FabricJS 元素或事件选择后实现以下效果?基本上,除了边框之外,我还想在事件元素周围渲染阴影/边框效果。一旦您点击离开,阴影就会被移除。

示例代码: (源自 this answer )

img {
  -webkit-filter: drop-shadow(1px 1px 0 black)
                  drop-shadow(-1px -1px 0 black);
  filter: drop-shadow(1px 1px 0 black) 
          drop-shadow(-1px -1px 0 black);
}

body {
  background-color: lightcoral;
}
<img src="http://i.imgur.com/GZoXRjS.png" width="250">

最佳答案

基本上,您需要使用fabricjs事件并设置或取消设置图像对象上的阴影。

var canvas = new fabric.Canvas("c");
fabric.Image.fromURL('https://i.imgur.com/GZoXRjS.png', function(img) {
img.scaleToWidth(500)

canvas.add(img)

img.on('deselected',function(e){
    this.set('shadow', null);
})
});


canvas.on('object:selected',function(e){
debugger;
  if(e && e.target){
    e.target.set('shadow', { blur: 15, offsetX: 0, offsetY: 0});
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.15/fabric.min.js"></script>
<canvas width=800 height=800 id="c" ></canvas>

关于javascript - FabricJS 在事件对象/选择周围渲染阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65534845/

相关文章:

javascript - 如何在 asp.net 中使用 Javascript 永久禁用按钮?

javascript - 如何限制除 jpg png 或 gif 之外的图像大小和扩展名

html - 在没有边框的表格上使用变换比例会在 <td> 元素之间创建空间

javascript - 使用 axios 使用 get 方法发送嵌套的 json 数据

javascript - 从 javascript websocket 获取总计

javascript - 无法将模型添加到指定索引处的主干集合

javascript - SetTimeout 和 ClearTimeout(0 时不清除)

javascript - 如何调用 div 调整大小的函数?

jquery:当div达到一定高度时改变背景颜色

html - 防止 span 元素的换行