微信小程序实现图片压缩


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代码实例
Jun 15 Javascript
Javascript Math对象
Aug 13 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
Mar 02 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
JavaScript的类型、值和变量小结
Jul 09 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 Javascript
vue中的inject学习教程
Apr 24 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
小程序实现左滑删除的效果的实例代码
Oct 19 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过滤危险html代码的函数
2008/07/22 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
PHP 无限级分类
2017/05/04 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
js闭包的用途详解
2014/11/09 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
对python中的装包与解包实例详解
2019/08/24 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
学生安全教育材料
2014/02/14 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python