FF的大图像画布

时间:2014-06-20 12:33:21

标签: html5 image firefox canvas large-files

我有一个带有大图像文件的Pronlem,可以在带有FileReader的Canvas中显示它。使用小图像,它可以很好地工作,在Chrome中也有大图像。但在Firefox中它什么也没显示,在toDataUrl之后它会显示黑色图像。图像尺寸为5580 * 8333(8mb)。 如果我从图像标记中的FileReader加载dataUrl也可以。

var reader  = new FileReader();

    reader.onloadend = function () {
    preview.src = reader.result;
console.log(reader.result);

                        var canvas = document.getElementById("resize");
                        var ctx = canvas.getContext("2d");

                        var image = new Image();
                        image.src = reader.result;
                        image.onload = function() {

                            var MAX_WIDTH = 400;
                            var MAX_HEIGHT = 300;
                            var tempW = image.width;
                            var tempH = image.height;
                            if (tempW > tempH) {
                                if (tempW > MAX_WIDTH) {
                                   tempH *= MAX_WIDTH / tempW;
                                   tempW = MAX_WIDTH;
                                }
                            } else {
                                if (tempH > MAX_HEIGHT) {
                                   tempW *= MAX_HEIGHT / tempH;
                                   tempH = MAX_HEIGHT;
                                }
                            }
                            image.width=tempW;
                            image.height=tempH;
                            canvas.width = tempW;
                            canvas.height = tempH;
                            ctx.drawImage(image, 0, 0, tempW, tempH);
                        };

                      }

                      if (file) {
                        reader.readAsDataURL(file);
                      } else {
                        preview.src = "";
                      }
                    }

感谢您的帮助

0 个答案:

没有答案