Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript canvas和img在chrome中工作,但在firefox中不工作_Javascript_Canvas_Cross Browser - Fatal编程技术网

Javascript canvas和img在chrome中工作,但在firefox中不工作

Javascript canvas和img在chrome中工作,但在firefox中不工作,javascript,canvas,cross-browser,Javascript,Canvas,Cross Browser,我已经搜索了一些关于这个问题的结果,但是没有一个对我有用,所以我在这里发布来获得一些帮助。基本上,我的问题是当我单击generate按钮时,我希望画布上的图像显示在img元素中。但是,该图像将显示在chrome中,但不会显示在firefox中!下面是我的代码 <body onload="onLoad();"> <canvas id="aimage">Your browser does not support the canvas tag.</canvas>

我已经搜索了一些关于这个问题的结果,但是没有一个对我有用,所以我在这里发布来获得一些帮助。基本上,我的问题是当我单击generate按钮时,我希望画布上的图像显示在img元素中。但是,该图像将显示在chrome中,但不会显示在firefox中!下面是我的代码

<body onload="onLoad();">
  <canvas id="aimage">Your browser does not support the canvas tag.</canvas>
  <input type="button" value="Generate" onclick="genImage();" />
  <img id="cImg" name="cImg" src="${param.src}" />
 ...
</body>
试试这个:

var scanvas, tcontext, tcanvas;
function genImage() {
    var url = tcanvas.toDataURL("image/jpeg");
    scanvas.src = url;
    if (scanvas.width > 1000) {
        scanvas.width = 1000;
    }
    if (scanvas.height > 1000) {
        scanvas.height = 1000;
    }
}
window.onload = function () {
    tcanvas = document.getElementById("aimage");
    tcontext = tcanvas.getContext("2d");
    scanvas = document.getElementById('cImg');
    var img = new Image();
    img.onload = function () {
        tcontext.drawImage(img, 0, 0, img.width, img.height)
    };
    img.src = "yourImage.jpg";
}
试试这个:

var scanvas, tcontext, tcanvas;
function genImage() {
    var url = tcanvas.toDataURL("image/jpeg");
    scanvas.src = url;
    if (scanvas.width > 1000) {
        scanvas.width = 1000;
    }
    if (scanvas.height > 1000) {
        scanvas.height = 1000;
    }
}
window.onload = function () {
    tcanvas = document.getElementById("aimage");
    tcontext = tcanvas.getContext("2d");
    scanvas = document.getElementById('cImg');
    var img = new Image();
    img.onload = function () {
        tcontext.drawImage(img, 0, 0, img.width, img.height)
    };
    img.src = "yourImage.jpg";
}

我使用的是ver24。我已经更新了我的代码,它和你的代码非常相似,但是由于一些未知的原因,它仍然不能为我工作。我不知道如何调试它,因为它没有显示任何错误。尝试在开发者控制台中显示base^$数据,您可能会在那里发现有用的内容。.单击按钮后,base64已正确设置为img。但是,显示器仍然是原始图像,有什么原因吗?你到底想达到什么目的?如果我能看到它的小提琴就好了。我用的是ver24。我已经更新了我的代码,它和你的代码非常相似,但是由于一些未知的原因,它仍然不能为我工作。我不知道如何调试它,因为它没有显示任何错误。尝试在开发者控制台中显示base^$数据,您可能会在那里发现有用的内容。.单击按钮后,base64已正确设置为img。但是,显示器仍然是原始图像,有什么原因吗?你到底想达到什么目的?如果我能看到它的小提琴就好了。