Angular.js低质量图像

时间:2017-06-30 05:35:37

标签: javascript html angularjs

我有base64编码的图像字符串,它的质量是2 mb,我想再有一个base64字符串,其mb低于50 kb。我无法找到任何解决方案来从低质量的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。

提前致谢,

1 个答案:

答案 0 :(得分:0)

您可以使用canvas缩小图片大小。您可以使用canvas.toDataURL()指定图像格式图像质量,如下所示:

canvas.toDataURL('image/jpeg',0.7)

您还可以使用ng-image-compress来实现目标。 Hereng-image-compress的文档。