微信小程序上传图片并等比列压缩到指定大小的实例代码


Posted in Javascript onOctober 24, 2019

微信小程序官方API中 wx.chooseImage() 是可以进行图片压缩的,可惜的是不能压缩到指定大小。

微信小程序上传图片并等比列压缩到指定大小的实例代码

实际开发中需求可能是压缩到指定大小:

原生js可以使用canvas来压缩,但由于微信小程序对canvas有封装,使得利用canvas来压缩图片有了一些区别:

代码放在了git:https://github.com/jonyellow/code-diary/tree/master/%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%9B%BE%E7%89%87%E5%8E%8B%E7%BC%A9

直接上代码:

微信小程序上传图片并等比列压缩到指定大小的实例代码

微信小程序上传图片并等比列压缩到指定大小的实例代码

主函数:

微信小程序上传图片并等比列压缩到指定大小的实例代码

以上的三个函数可以写在一个公共的js文件里面 我是写在 common.js中的:

html:

微信小程序上传图片并等比列压缩到指定大小的实例代码

在html中需要添加个canvas标签,一般这个标签不让他出现在页面中,因为它的作用仅仅是压缩图片的工具:

<canvas class="canvas" canvas-id="canvas" :style="{width:cWidth+'px',height:cHeight+'px', visibility: 'hidden', 'position':'absolute', 'z-index': '-1', left: '-10000rpx',top:'-10000rpx'}"></canvas>

在methods中增加chooseImg方法:

微信小程序上传图片并等比列压缩到指定大小的实例代码

代码在实际项目中使用,能完成压缩图片到指定大小的需求。

总结

以上所述是小编给大家介绍的微信小程序上传图片并等比列压缩到指定大小的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
浅谈Javascript中的Label语句
Dec 14 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
实例学习JavaScript读取和写入cookie
Jan 29 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
微信小程序云开发之使用云函数
May 17 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
Mar 07 Javascript
JS的时间格式化和时间戳转换函数示例详解
Jul 27 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 Javascript
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 #Javascript
Vue 3.0双向绑定原理的实现方法
Oct 23 #Javascript
JavaScript判断数组类型的方法
Oct 23 #Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 #Javascript
p5.js绘制旋转的正方形
Oct 23 #Javascript
p5.js实现简单货车运动动画
Oct 23 #Javascript
p5.js实现故宫橘猫赏秋图动画
Oct 23 #Javascript
You might like
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
Python操作MySQL简单实现方法
2015/01/26 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
python实现IOU计算案例
2020/04/12 Python
python中return不返回值的问题解析
2020/07/22 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
党委书记岗位职责
2013/11/24 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
2015年党务公开工作总结
2015/05/19 职场文书