微信小程序之图片压缩

设计思路
选择图片后调用微信压缩图片接口,压缩后接收压缩图片的临时地址,调用微信储存接口保存图片至本地。

参数
imagesrc:图片地址
imgcount:是否选择图片
show_hidden:是否展示按钮

接口
wx.chooseImage:选择图片
wx.compressImage:压缩图片
wx.saveImageToPhotosAlbum:保存图片至相册
wx.showToast:提示信息

wxml

<view>
  <view>
      <image src="{{imagesrc}}" style="width: 100%;" bindtap="chooseMyImage">
      image>
  view>
  <view class="textView">
    <text>
      (推荐使用jpg格式的图片)
    text>
  view>
  <view class="ImgOperateView">
    <button type="primary" bindtap="chooseMyImage">选择图片button>
    <button type="primary" bindtap="MyImageCompression" style="{{show_hidden}}">压缩图片button>
  view>
view>

js

// miniprogram/pages/ImgCompression/ImgCompression.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imagesrc:"../../images/NoImage.jpg",
    imgcount:0,
    show_hidden: "display:none;",
  },

  //选择图片
  chooseMyImage:function () {
    var that = this;
    wx.chooseImage({
      count:1,
      success: function(res) {
        that.setData({
          imagesrc:res.tempFilePaths[0],
          imgcount:1,
          show_hidden:"display:block"
        }),
          wx.showToast({
            title: "已选择图片",
          })
      },

      fail: function() {
        wx.showToast({
          title:"请选择图片",
          icon:"none",
        })
      }
    })
  },

  //压缩图片
  MyImageCompression:function () {
    var that = this;
    if(that.data.imgcount == 1){
      wx.showToast({
        title: "正在压缩图片",
        icon:"loading",
      })

      wx.compressImage({
        src:that.data.imagesrc,
        quality:0,
        success: function(res) {
          wx.showToast({
            title: "压缩成功",
          });

          wx.saveImageToPhotosAlbum({
            filePath:res.tempFilePath,
            success:function(res) {
              wx.showToast({
                title: "已保存至相册",
              });
            }
          })
        },

        fail: function() {
          wx.showToast({
            title:"压缩失败",
            icon:"none",
          })
        }
      })
    }
  }
})

效果图
微信小程序之图片压缩_第1张图片
微信小程序之图片压缩_第2张图片

个人微信公众号推荐,专为各位IT好友分享资源(已分享上百G资源,涵盖了 微信小程序、Java、Python、人工智能等)
在这里插入图片描述

你可能感兴趣的:(微信小程序,微信小程序,压缩图片)