Javascript 图像转换错误裁剪
在我的应用程序中,我添加了将图像转换为具有大小调整图像的base 64的代码。当我尝试以下代码时,图像部分已被裁剪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
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张以上的图片)。