javascript - 调整 Base64 图像大小在 Firefox 中不起作用

标签 javascript jquery firefox canvas base64

我尝试了很多不同的方法,但在 Firefox 中,当我第一次调整大小时,它返回一个空白图像:

function imageToDataUri(img, width, height) {
 var canvas = document.createElement('canvas');
 ctx = canvas.getContext('2d');
 canvas.width = width;
 canvas.height = height;
 ctx.drawImage(img, 0, 0, width, height);
 setTimeout(function () {
   cursorimg = canvas.toDataURL();
 }, 500);
}

这是我的函数,我这样调用它:

cursorImage.onload = function(){
  imageToDataUri(cursorImage, width, height);
}

最佳答案

我遇到了与您完全相同的问题,当我在“onload”回调之外创建 Canvas 时,问题消失了,如下所示:

var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width = width;
canvas.height = height;
cursorImage.onload = function(){
    ctx.drawImage(img, 0, 0, width, height);
    cursorimg = canvas.toDataURL();
}

我还是 JavaScript 的初学者,我无法解释它为什么有效......

关于javascript - 调整 Base64 图像大小在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31248522/

相关文章:

javascript - 如何显示两棵具有中央根的树?

javascript - 站点导航栏不在较小的屏幕上播放动画

javascript - 向下滚动时更改 div 高度

javascript - 超链接中的当前页面 URL

firefox - 桌面上可执行的 HTML/Javascript 应用程序?

firefox - 在 Firefox 中检测 youtube 视频切换

javascript - jQuery 的 .on 函数似乎不喜欢 'load' 事件

javascript - 如何在 Ember.js 中动态加载 partials/views/templates

javascript - 如何使用jQuery来选择具有唯一文本内容的XML节点?

css - 溢出 : hidden does not apply in Firefox 5 when set via JavaScript