小编Jun*_*HOU的帖子

无法在 HTMLCanvasElement 上执行 toDataURL

从图像(本地文件)绘制画布后,我尝试使用命令导出它 ctx.canvas.toDataURL("image/png")

但是有一个错误:

DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Run Code Online (Sandbox Code Playgroud)

我已经在谷歌搜索过了。他们说这是克罗斯的问题。所以,我添加了命令:

image.crossOrigin = '*';
Run Code Online (Sandbox Code Playgroud)

但这对我的项目没用。实际上,我的项目是在没有任何服务器的情况下在本地构建的。所以,我不知道为什么会出现跨域问题。

function loadImageAsync(url) {
return new Promise(function(resolve, reject) {
    var image = new Image();
    image.onload = function() {
        image.crossOrigin = '*';
        resolve(image);
    };
    image.onerror = function() {
        reject(new Error('Could not load image at ' + url));
    };
    image.src = url;
});


  generate() {
    var p1 = loadImageAsync(this.textures[1]);
    var p2 = loadImageAsync(this.textures[2]);
    var p3 = loadImageAsync(this.textures[3]);
    var ctx = document.createElement("canvas")
        .getContext("2d"); …
Run Code Online (Sandbox Code Playgroud)

html javascript html5-canvas

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

html ×1

html5-canvas ×1

javascript ×1