Javascript 初始化Caman()时,是否清除画布?

Javascript 初始化Caman()时,是否清除画布?,javascript,html,canvas,camanjs,Javascript,Html,Canvas,Camanjs,我将Caman过滤器应用于包含现有图像数据的画布。但是,当我创建一个对象供以后使用时,它会占用我的画布 var ca=Caman('#myCanvas') 我正试着这样做: Caman('#myCanvas',function(){ this.render(); }); 但同样的问题,画布是清晰的!为什么我不能将canvas加载到Caman,然后进行修改,尽管say可以是?您不需要获取对Caman对象的引用:var ca=Caman(#myCanvas”) 首先,在原始画布上绘制一些东西

我将Caman过滤器应用于包含现有图像数据的画布。但是,当我创建一个对象供以后使用时,它会占用我的画布

var ca=Caman('#myCanvas')

我正试着这样做:

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

但同样的问题,画布是清晰的!为什么我不能将canvas加载到Caman,然后进行修改,尽管say可以是?

您不需要获取对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);
然后告诉卡曼使用#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(“原始”);
var ctx=canvas.getContext(“2d”);
//在原始画布上画一幅画
ctx.fillStyle=“蓝色”;
ctx.fillRect(20,20,60,40);
//修改原始图形
卡曼(#原件),功能(){
这个.brightness(75.render();
});


哦,我从相机上得到的图像(视频中的画布绘制图像)。我找到了另一个解决方案:创建临时画布,在此基础上进行操作,渲染完成后,我将临时画布复制到#myCanvas。完成了。但我会尽快检查这个问题。现在,就在截止日期前跑吧。非常感谢你!小提琴坏了。初始化卡曼时,蓝色的东西不见了。@speedingeer。这把小提琴在镀铬、FF&IE上对我来说很好用!正如所料,蓝色矩形变为不太亮的蓝色。但是“以防万一”我已经将我的演示从JSFIDLE移动到StackSnip,并验证了它的有效性。:-)无论如何,我希望你仍然觉得这个答案很有用,因为整个代码都在答案的叙述部分。@markE我对你的答案投了更高的票。这是卡曼斯的臭虫。如果您的代码不是视网膜屏幕,那么它可以正常工作。希望大家能修好。