微信小程序实现图片压缩


Posted in Javascript onDecember 03, 2019

本文实例为大家分享了微信小程序图片压缩的具体代码,供大家参考,具体内容如下

设计思路:

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

参数:

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",
   })
  }
  })
 }
 }
})

效果图:

微信小程序实现图片压缩

微信小程序实现图片压缩

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery的弹出框插件
Mar 18 Javascript
回车直接实现点击某按钮的效果即触发单击事件
Feb 27 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
字符串反转_JavaScript
Apr 28 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 Javascript
基于webpack.config.js 参数详解
Mar 20 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
微信小程序列表时间戳转换实现过程解析
Oct 12 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
Nov 13 Javascript
Vue解析带html标签的字符串为dom的实例
Nov 13 Javascript
vue组件暴露和.js文件暴露接口操作
Aug 11 Javascript
Ant Design Pro 下实现文件下载的实现代码
Dec 03 #Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 #Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 #Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 #Javascript
js实现一款简单踩白块小游戏(曾经很火)
Dec 02 #Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 #Javascript
VUE 动态组件的应用案例分析
Dec 02 #Javascript
You might like
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP输入流php://input介绍
2012/09/18 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python实现的检测网站挂马程序
2014/11/30 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
python利用线程实现多任务
2020/09/18 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
详解pandas赋值失败问题解决
2020/11/29 Python
python 爬取小说并下载的示例
2020/12/07 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书