我尝试了很多不同的方法,但在 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/