您可以使用画布,将图像放入其中,缩放图像并使用新的base64代码获取图像src。
这是执行此功能的函数,它返回Promise对象,因为首先需要加载(缓存)图像,然后再将画布中的画布绘制出来并获取其编码的src。
function resizeBase64Img(base64, width, height) {
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height;
var context = canvas.getContext("2d");
var deferred = $.Deferred();
$("<img/>").attr("src", "data:image/gif;base64," + base64).load(function() {
context.scale(width/this.width, height/this.height);
context.drawImage(this, 0, 0);
deferred.resolve($("<img/>").attr("src", canvas.toDataURL()));
});
return deferred.promise();
}
可以这样使用:
resizeBase64Img(oldBase64, 100, 100).then(function(newImg){
$("body").append(newImg);
});
这是jsfiddle
0
我有一张图像的base64编码代码。现在,我想减小图像的大小和质量。如何在JavaScript或jQuery中做到这一点?
解决这里的工作代码:Index.php这是从我这里工作的 javascript代码
Show.php文件