我想使用Fabric.js在我的Web应用程序中实现橡皮擦.有没有办法在Fabric.js中实现橡皮擦?例如,在MS Paint中?
解决方法
Fabric中没有内置的橡皮擦,实现起来有点困难.
Fabric的一点是,所有东西都是基于对象的,而且大多数东西都是基于矢量的.
与原生画布不同,我们不能只删除全局位图上的一些像素.我们在下面有完整的对象模型,canvas输出是渲染到画布上的所有对象的简单循环.
我们可以模仿橡皮擦的一种方法可能是在画布上面进行某种覆盖.并且在它上面划出“擦除”的线条,给出了被消灭的基础物体的幻觉.
但是这仍然存在并发症:
>我们如何序列化这一层(到JSON或SVG)?
>如果您删除以前绘制的路径的一半然后想要使用已擦除的形状,该怎么办?形状本身需要修改;叠加不起作用.
>橡皮擦会影响形状还是背景颜色?背景图片怎么样?
目前我可能还没有想到更多的问题.