开发
API

tt.compressImage

基础库 1.28.0 开始支持本方法,低版本需做兼容处理

压缩图片接口,可选压缩质量,并可以产出压缩后的图片到本地临时文件。该 API 仅对 jpg 有效

语法

tt.compressImage(options)

参数说明

options 为 object 类型,属性如下:

属性名类型默认值必填说明最低支持版本
srcstring图片路径,不支持网络图片,可以本地路径、代码包相对路径1.28.0
qualitynumber80压缩质量,范围 0 ~ 100,数值越小,质量越低,压缩率越高1.28.0
successfunction接口调用成功的回调函数1.28.0
failfunction接口调用失败的回调函数1.28.0
completefunction接口调用结束的回调函数(调用成功、失败都会执行),回调参数同成功或失败回调1.28.0

回调成功

Object 类型,属性如下:

属性类型说明最低支持版本
errMsgstring"compressImage:ok"1.28.0
tempFilePathstring压缩完成后的文件的临时路径1.28.0

回调失败

Object 类型,属性如下:

属性类型说明最低支持版本
errMsgstring"compressImage:fail " + 详细错误信息1.28.0

效果示例

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

<!-- index.ttml -->
<view class="wrap">
  <button type="primary" bindtap="compressImage">点击选择图片压缩</button>
  <view>压缩前:</view>
  <image class="image" src="{{oldSrc}}"></image>
  <view>压缩后:</view>
  <image class="image" src="{{newSrc}}"></image>
</view>
// index.js
Page({
  data: {
    oldSrc: "",
    newSrc: "",
  },
  compressImage() {
    tt.chooseImage({
      success: (res) => {
        this.setData({
          oldSrc: res.tempFilePaths[0],
        });
        tt.compressImage({
          src: res.tempFilePaths[0],
          quality: 80,
          success: (res) => {
            tt.showToast({ title: "压缩成功" });
            this.setData({
              newSrc: res.tempFilePath,
            });
          },
          fail: (err) => {
            tt.showModal({
              title: "压缩失败",
              content: err.errMsg,
              showCancel: false,
            });
          },
          complete: (res) => {
            console.log("压缩完成");
          },
        });
      },
      fail: (err) => {
        tt.showModal({
          title: "选择图片失败",
          content: err.errMsg,
          showCancel: false,
        });
      },
    });
  },
});

Bug & Tip

暂无

点击纠错
评价此篇文档