1

我喜欢从图像中获取二进制数据。因此我需要将它放在画布上并使用 getImageDate 方法检索它。但是,当我将源 PNG 图像的大小与提取的画布图像的大小进行比较时,它们是不同的。

var img = new Image();

img.onload = function() {
    var canvas = document.getElementById("c");
    canvas.width = this.width;
    canvas.height = this.height;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    //get image
    var canvasimg = ctx.getImageData(0, 0, this.width, this.height);
    alert("binlength: " + canvasimg.data.length);
};

img.src = "images/example.PNG";

我在这里上传了一个例子:http: //jsfiddle.net/wLb3q/4/

这种行为不仅适用于 JavaScript,而且当我通过 Firefox 中的 Contextmenu 执行此操作时(右键单击画布/将图像另存为)。检索到的图像比原始图像小得多。

提前非常感谢!

4

0 回答 0