• 下载
  • 社区

my.compressImage

版本要求:基础库版本 1.4.0 更高版本


压缩图片。


扫码体验

my.jpeg


效果示例

my.compressimage.png


示例代码

<!-- API-DEMO page/API/compress-image/compress-image.axml-->
<view class="page">
  <view class="page-description">压缩图片 API</view>
  <view class="page-section">
    <view class="page-section-title">my.compressImage</view>
    <view class="page-section-demo">
      <button type="primary" onTap="selectImage" hover-class="defaultTap">选择图片</button>
      <image
        src="{{compressedSrc}}" 
        mode="{{mode}}" />
    </view>
  </view>
</view>


// API-DEMO page/API/compress-image/compress-image.js
Page({
  data: {
    compressedSrc: '',
    mode: 'aspectFit',
  },
  selectImage() {
    my.chooseImage({
      count: 1,
      success: (res) => {
        my.compressImage({
          apFilePaths: res.apFilePaths,
          level: 1,
          success: data => {
            console.log(data);
            this.setData({
              compressedSrc: data.apFilePaths[0],
            })
          }
        })
      }
    })
  },
});


入参

入参为 Object 类型,属性如下:

属性

类型

必填

描述

apFilePaths

String Array

要压缩的图片地址数组。

compressLevel

Number

压缩级别,支持 0 ~ 4 的整数,默认为 4。详见下文compressLevel 表说明。

success

Function

调用成功的回调函数。

fail

Function

调用失败的回调函数。

complete

Function

调用结束的回调函数(调用成功、失败都会执行)。


success 回调函数

入参为 Object 类型,属性如下:

属性

类型

描述

apFilePaths

String Array

压缩后的路径数组


compressLevel 表

compressLevel

描述

0

低质量

1

中等质量

2

高质量

3

不压缩

4

根据网络适应