请选择 进入手机版 | 继续访问电脑版
123下一页
返回列表 发新帖

[模块使用] imageFilter能不能实现等比列缩放,有示例吗?

[复制链接]
帅0927 发表于 2022-6-22 07:26:38
本帖最后由 帅0927 于 2022-6-22 10:40 编辑

imageFilter模块压缩图片,能不能实现图片等比列缩放。 之前用imageOptim是可以实现图片等比列缩放的。 62b28130840d2.png

20条回复

勇可可 版主 111950Y币
本帖最后由 勇可可 于 2022-6-22 09:29 编辑

你可以压缩之前 得到图片大小 然后计算得到压缩大小的比例   
帅0927 驾校小白 80Y币
有例子吗 用的
imageFilter  ,  给个逻辑,怎么计算得到压缩大小的比例。   
勇可可 · 2022-6-22 09:28你可以压缩之前 得到图片大小 然后计算得到压缩大小的比例
勇可可 版主 111950Y币
先使用fs.getAttributeSync({path: transPath}).attribute.size  拿到你本地图片大小  然后再计算 你想要压缩到多少的比例  最后再imageFilter里传quality这个比例参数
帅0927 驾校小白 80Y币
比如我相册里面选择的是宽1080像素,高800像素的图片。但是我需要上传宽600像素,高300像素的图片。  我拿到本地图片的大小后宽1080像素,高800像素,给imageFilter的quality传多少?
技术咨询-F 管理员 26991Y币
size:

类型:json对象
默认值:无
描述:(可选项)压缩后的图片的大小
备注:若本参数有值,则忽略scale
内部字段:
{
    w:    //压缩后的图片的宽,数字类型,无默认值
    h:    //压缩后的图片的高,数字类型,无默认值
}
帅0927 驾校小白 80Y币
我写了那个size不管用,写的固定值 w:600 h:300 , 他没有等比例缩放。   比如我竖着手机照相,这个控件把图像都压扁了。    跟之前用的imageOptim不一样,imageOptim写固定值就能等比例压缩。  
技术咨询-F · 2022-6-22 10:04size:

类型:json对象
技术咨询-F 管理员 26991Y币
竖着拍,h 应该比 w 大才对
帅0927 · 2022-6-22 10:29我写了那个size不管用,写的固定值 w:600 h:300 , 他没有等比例缩放。   比如我竖着手机照相,这个控件把图像都压扁了。    跟之前用的imageOptim不一样,imageOptim写固定值就能等比例压缩。  
...
帅0927 驾校小白 80Y币
是的 竖着拍h是比w大,但是之前用imageOptim组件,他虽然写了固定宽600高300,也等比例压缩了。   您推荐我用的这个imageFilter写了固定宽高就没等比例压缩。
技术咨询-F · 2022-6-22 10:35竖着拍,h 应该比 w 大才对
技术咨询-F 管理员 26991Y币
  1. api.getPicture({
  2.                 sourceType: 'album',
  3.                 encodingType: 'jpg',
  4.                 mediaValue: 'pic',
  5.                 destinationType: 'url',
  6.                 allowEdit: true,
  7.                 quality: 100,

  8.                 saveToPhotoAlbum: false
  9.             }, function (ret, err) {
  10.                 if (ret) {
  11.                     path = ret.data;
  12.                     var imageFilter = api.require('imageFilter');
  13.                     imageFilter.compress({
  14.                         img: path,
  15.                         quality: 0.5,
  16.                         size: {
  17.                             w: 300,
  18.                             h: 600
  19.                         },
  20.                         save: {
  21.                             album: true,         //(可选项)布尔值,是否保存到系统相册,默认false
  22.                             imgPath: 'fs://myapp',        //(可选项)保存的文件路径,字符串类型,无默认值,不传或传空则不保存,若路径不存在文件夹则创建此目录
  23.                             imgName: 'test1.jpg'
  24.                         }
  25.                     }, function (ret, err) {
  26.                         if (ret.status) {
  27.                             alert(JSON.stringify(ret));
  28.                         } else {
  29.                             alert(JSON.stringify(err));
  30.                         }
  31.                     });
  32.                 } else {
  33.                     api.alert({
  34.                         msg: JSON.stringify(err)
  35.                     });
  36.                 }
  37.             });
复制代码


我这测试压缩后是指定宽高
帅0927 · 2022-6-22 10:39是的 竖着拍h是比w大,但是之前用imageOptim组件,他虽然写了固定宽600高300,也等比例压缩了。   您推荐我用的这个imageFilter写了固定宽高就没等比例压缩。
...
123下一页
您需要登录后才可以回帖 登录

本版积分规则