2

在我的应用程序中,我添加了将图像转换为 base 64 并调整大小的图像的代码。当我尝试以下代码时,图像部分已被裁剪。

function getBase64FromImageUrl(URL)
{
var img = new Image();
img.style.width = this.width,
img.style.height = this.height,
img.src = URL;
img.onload = function ()
  {
    var canvas = document.createElement("canvas");
    canvas.width =150
    canvas.height =150;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(this, 10, 10);
    var dataURL = canvas.toDataURL("image/jpg");
    c=dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
    return c;
  }
}

如何正确获取完整图像?代码中需要哪些更改

4

1 回答 1

2
function encodeImage(src, callback) {
    var canvas = document.createElement('canvas'),
        ctx = canvas.getContext('2d'),
        img = new Image();

    img.onload = function() {
        canvas.width = img.width;
        canvas.height = img.height;
        ctx.drawImage(img, 0, 0, img.width, img.height);
        callback(canvas.toDataURL());
    }
    img.src = src;
}

看到这个小提琴:

http://jsfiddle.net/NwaPT/3/

于 2013-10-19T05:32:02.023 回答