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


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 相关文章推荐
9个javascript语法高亮插件 推荐
Jul 18 Javascript
自制基于jQuery的智能提示插件一枚
Feb 18 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
JavaScript的继承的封装介绍
Oct 15 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
Angular用来控制元素的展示与否的原生指令介绍
Jan 07 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
浅谈Angular路由复用策略
Oct 04 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 Javascript
vue + el-form 实现的多层循环表单验证
Nov 25 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实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
dojo 之基础篇
2007/03/24 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
基于python编写的微博应用
2014/10/17 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
python机器学习之贝叶斯分类
2018/03/26 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Django choices下拉列表绑定实例
2020/03/13 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
企业行政文员岗位职责
2013/12/03 职场文书
汉语言文学职业规划
2014/02/14 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
同意迁入证明模板
2014/10/26 职场文书
重阳节简报
2015/07/20 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL