Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 图像转换错误裁剪_Javascript_Image_Extjs - Fatal编程技术网

Javascript 图像转换错误裁剪

Javascript 图像转换错误裁剪,javascript,image,extjs,Javascript,Image,Extjs,在我的应用程序中,我添加了将图像转换为具有大小调整图像的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

在我的应用程序中,我添加了将图像转换为具有大小调整图像的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;
  }
}
如何正确获取完整图像?代码中需要进行哪些更改

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;
}
看这把小提琴:


你所说的裁剪是什么意思?只是canvas.width和canvas.height太小了吗?另外,从onload返回c不会从getBase64FromImageUrl返回该值。@nkron CROPTED-未显示完整图像,超出完整大小的图像,它只显示特定部分那么在调整大小后如何将图像转换为base64转换后当我尝试使用解码显示图像时,它没有显示图像。您正在从文件系统运行此操作吗?如果是,请在本地web服务器运行时重试。我也试过同样的方法,效果非常好(试过15张以上的图片)。