Camanjs 在初始化 Caman() 时清除画布



我将卡曼滤镜应用于具有现有图像数据的画布。但是当我创建 Caman 对象供以后使用时,它会清空我的画布。

var ca = Caman('#myCanvas');

我尝试完全使用 卡曼指南 ,像这样:

Caman('#myCanvas',function(){
   this.render();
});

但同样的问题,画布很清楚!为什么我不能将画布加载到 Caman 然后修改,尽管文档说可以?

你不需要用以下命令获取对 Caman 对象的引用: var ca = Caman("#myCanvas");

首先,在原始画布上画一些东西:

// make a drawing on the original canvas
var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(20,20,60,40);

然后告诉 Caman 将 #myCanvas 用作任何过滤器的源和目标:

// modify the original drawing from #myCanvas and put it back on #myCanvas
Caman("#myCanvas",function(){
    this.brightness(50).render();
});

关于清除的画布:

由于 Caman 使用 .getImageData,因此请确保您的图像与您服务的网页托管在同一站点上,否则 CORS 安全违规将导致您的画布为空白。

var canvas = document.getElementById("original");
var ctx = canvas.getContext("2d");
// make a drawing on the original canvas
ctx.fillStyle = "blue";
ctx.fillRect(20, 20, 60, 40);
// modify the original drawing 
Caman("#original", function () {
    this.brightness(75).render();
});
<script src="http://cdnjs.cloudflare.com/ajax/libs/camanjs/4.0.0/caman.full.min.js"></script>
<canvas id="original" width=100 height=100></canvas>

相关内容

  • 没有找到相关文章

最新更新