javascript - 另一个 Canvas 元素中 FabricJS Canvas 的小型实时预览

标签 javascript fabricjs

我有一个使用优秀的 FabricJS 库的图像板。我试图在页面上的另一个 Canvas 上创建某种“锁孔” View “预览”,复制 FabricJS Canvas 的一小部分,并使用 context.drawImage() 将其显示在第二个 Canvas 上。

preview_canvas_context.drawImage(fabric.lowerCanvasEl, x,y, ...)

这很好用!我的问题是复制图像中出现重影。我不确定 FabricJS 在后台做了什么奇特的事情,但是如果我在织物 Canvas 上的图像或对象后面有一些空白,(或者我到达 Canvas 的边缘)复制的图像会出现污点,如图所示以下屏幕截图:

screencap

为什么会发生这种情况,我可以采取什么措施来解决它?

最佳答案

在 Canvas 上设置背景图像或颜色可以防止出现此问题。

var canvas = new fabric.Canvas('c', {
  backgroundColor: 'rgb(255,255,255)'
});

当我离开外部边界时,我仍然会出现图像模糊问题,但这是预期的,并且可以通过设置视口(viewport)对象无法离开的边界来防止这种情况。

关于javascript - 另一个 Canvas 元素中 FabricJS Canvas 的小型实时预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33046727/

相关文章:

javascript - Node.js 中的 Webscraper 返回带有 async 和 Promise 的空数组

javascript - 对多个文件 Javascript 使用构造函数

javascript - svg 加载到 Canvas 后获取单个对象

javascript - 我使用 Fabric 在 Canvas 上绘制的所有内容都是偏移的

javascript - 展开 Fabric.js 中的 stateProperties

javascript - 使用 javascript 或其他方法检查 bean 是否为 null

javascript - kickass.to 如何在我们自己的浏览器中发送远程 url/文件而不将我们发送到其他网站?

javascript - 如何获取空的 href 查询参数?

javascript - 当布料对象在 Canvas 中移动时滚动 div

javascript - Fabric.js 中支持的文本更改事件