javascript - Angular.js 低质量图像

标签 javascript html angularjs

我有一个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 来实现您的目标。 Hereng-image-compress 的文档。

关于javascript - Angular.js 低质量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44839239/

相关文章:

javascript - 根据条件在angularjs中动态集成svg图像

html - 当我鼠标进入元素时显示一些弹出窗口。纯CSS

javascript - 为什么在onclick confirm方法(VsCode)中return语句有下划线?

javascript - 是否可以/明智地使用外部模板引擎,如 dust.js 或任何其他带有 anjularjs 的模板引擎?

javascript - 第二次单击时 Angular ng-click 切换

javascript - 如何修复 vuejs 测试工具中的 jest window.alert 或 null 错误?

javascript - 在命令行上运行 Node js文件时找不到模块

php - WordPress 导航中某些 <li> 中的图像

HTML/CSS : Form does look different on firefox than on chrome

javascript - AngularJS ng-点击进入查看