我有一个base64编码的图片字符串,它的质量是2mb,我还想再多一个mb小于50kb的base64字符串。我找不到任何解决方案来从低质量的 base64 字符串中获取图像。我该怎么做
$scope.SaveImage = function () {
var desc=$scope.img.Desc
var SaveList=[];
for(var i=0;i<Pictures.length;i++){
var item={
taskId:taskId,
desc:desc,
raw:Pictures[i].image,
thumbnail:Pictures[i].image
}
SaveList.push(item);
}
$http.post('http://example.com:3000/photos/',SaveList).success(function(response){ //make a get request to mock json file.
var data=response;
window.location.reload();
})
.error(function(err){
alert(JSON.stringify(err));
})
}
上面的代码我有一个列表,其中包含 base64 编码的字符串,我将在帖子项目缩略图中发布数据,必须低于 50kb。
提前致谢
最佳答案
您可以使用canvas
来减小图像的大小。您可以使用 canvas.toDataURL()
指定图像格式和图像质量,例如:
canvas.toDataURL('image/jpeg',0.7)
您还可以使用 ng-image-compress
来实现您的目标。
Here是 ng-image-compress
的文档。
关于javascript - Angular.js 低质量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44839239/