6

CamanJS 是一个很棒的库,用于在浏览器中进行实时图像处理。

我在预先存在的画布对象上使用 Caman。如果用户“返回”到我网站的上一个区域,然后再次回到画布,我可能需要更改该画布上的图像。

Caman 似乎缓存了它接收到的第一个图像数据,然后将画布“锁定”到其上下文中。在应用 Caman 后尝试更改画布会导致画布没有可见的变化。

我们如何在 Caman 之外更改画布数据,然后重新应用 Caman 过滤器?

4

1 回答 1

11

我给 Ryan(的创建者CamanJS)发了电子邮件,他回复说有一个名为 reloadCanvasData() 的函数,可以调用它来“刷新”卡曼的图像数据缓存,并对画布的原始上下文进行任何更改。这是源链接:https ://github.com/meltingice/CamanJS/blob/master/src/core/caman.coffee#L387-L392

这非常有效:存储您为画布创建的 Caman 实例,然后调用.reloadCanvasData()任何后续运行。然后,您需要重新应用Caman您想要的任何操作。

我想记录这个函数,因为谷歌似乎还没有包含任何对它的引用。

于 2013-12-09T21:22:46.210 回答