此功能在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);
}
}