我有多张图片,我想将它们分别在不同的时间点加载到单个<canvas>元素中,然后使用CamanJS进行操作。我可以得到第一个图像,如下所示:

Caman('#canvas-element', '/images/one.jpg');

但是,当我随后尝试使用以下代码更新相同的元素时,它将不起作用。
Caman('#canvas-element', '/images/two.jpg');

有什么方法可以重置/清除/刷新 Canvas 并将新图像数据加载到其中,还是真的需要为要加载的每个图像创建单独的<canvas>元素?我希望使用一个元素,因为我不想吃光所有内存。

最佳答案

从IMG或CANVAS元素中删除Caman属性(data-caman-id),更改图像,然后重新渲染Caman。

document
  .querySelector('#view_image')
  .removeAttribute('data-caman-id');

const switch_img = '/to/dir/img.png';

Caman("#view_image", switch_img, function() {
  this.render();
});

关于javascript - 如何使用CamanJS更改图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15032973/

10-13 04:20