CamanJS 是一个很棒的库,用于在浏览器中进行实时图像处理。
我在预先存在的画布对象上使用 Caman。如果用户“返回”到我网站的上一个区域,然后再次回到画布,我可能需要更改该画布上的图像。
Caman 似乎缓存了它接收到的第一个图像数据,然后将画布“锁定”到其上下文中。在应用 Caman 后尝试更改画布会导致画布没有可见的变化。
我们如何在 Caman 之外更改画布数据,然后重新应用 Caman 过滤器?
我给 Ryan(的创建者CamanJS
)发了电子邮件,他回复说有一个名为 reloadCanvasData() 的函数,可以调用它来“刷新”卡曼的图像数据缓存,并对画布的原始上下文进行任何更改。这是源链接:https ://github.com/meltingice/CamanJS/blob/master/src/core/caman.coffee#L387-L392
这非常有效:存储您为画布创建的 Caman 实例,然后调用.reloadCanvasData()
任何后续运行。然后,您需要重新应用Caman
您想要的任何操作。
我想记录这个函数,因为谷歌似乎还没有包含任何对它的引用。