繁体   English   中英

保存使用caman.js处理过的图像

[英]saving an image that has been manipulated with caman.js

伙计们我真的很努力地尝试了这个ive,但已经尝试了好几天,但是没有运气,我用camanjs处理了一个图像,然后使用canvas.toblob()将其保存到磁盘上,这是代码

Caman("#theCanvas", "images/1.jpg", function () {

    this.greyscale()
        .noise(33.3)
        .render(function(){
            for(i=1;i<=3;i++){
                draw(2);
                draw(3);
                draw(4);
                draw(8);
            }
            for(i=1;i<=29;i++){
                draw(1);
                draw(5);
                draw(6);
                draw(7);
            }
            var canvas = document.getElementById("theCanvas");
            canvas.toBlob(function(blob) {
                saveAs(blob, "image.jpg");
            });
        });
});

保存图像时,将使用.greyscale效果和.noise()效果进行保存,但是我对render()函数内部的图像所做的更改未出现在图像中,并且我不确定如何克服这个问题,我尝试使用.reloadCanvasData(),但是它没有用,我想我没有正确使用它,有人有解决方案吗?

也许你可以尝试

.render(function(){
  var base64 = this.toBase64()
  download(base64, 'image.jpg', 'image/jpeg')
})

下载功能来自http://danml.com/download.html

我已经通过以下技巧解决了这个问题。 你可以用

 Caman("#canvas", function() {
          //console.log(this.toBase64());
        let a  = document.createElement('a');
            a.href = this.toBase64();
            a.download = Date() +'_image.png';
            a.click();
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM