图像转换错误地裁剪

时间:2013-10-19 05:19:43

标签: javascript image extjs

在我的应用程序中,我添加了将图像转换为带有调整大小的图像的基础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;
  }
}

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

1 个答案:

答案 0 :(得分: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/