使用EXIF Colorspace将三个JS Javascript Save Canvas另存为JPG

时间:2016-11-12 17:05:08

标签: javascript three.js

此功能在three.js中运行良好,可将画布图像保存为JPG快照。但是有几个问题。图像不会保存任何exif数据,没有颜色空间等,因此浏览器在上传时随机处理图像颜色,上传到网络时通常看起来非常不饱和。有没有一种简单的方法可以在保存时将exif数据添加到.jpg图像中以添加颜色配置文件sRGB IEC61966-2.1?另外,由于某种原因,这在IE中根本不起作用?抛出错误uri是未定义的,它是。无法弄清楚应该是什么。谢谢你的帮助!

function saveAsImage() {

    var imgData, imgNode;

    try {
        var strMime = "image/jpeg";
        imgData = renderer.domElement.toDataURL(strMime);
        saveFile(imgData.replace(strMime, "image.jpg");

    } catch (e) {
        alert(e);
        console.log(e);
        return;
    }

}

var saveFile = function (strData, filename) {
    var link = document.createElement('a');
    if (typeof link.download === 'string') {
        document.body.appendChild(link); //Firefox requires the link to be in the body
        link.download = filename;
        link.href = strData;
        link.click();
        document.body.removeChild(link); //remove the link when done
    } else {
        location.replace(uri);
    }
}

0 个答案:

没有答案