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


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 相关文章推荐
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
Apr 01 Javascript
jQuery validate 中文API 附validate.js中文api手册
Jul 31 Javascript
javascript中全局对象的isNaN()方法使用介绍
Dec 19 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
jQuery通过ajax快速批量提交表单数据
Oct 25 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
Vue 滚动行为的具体使用方法
Sep 13 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
node错误处理与日志记录的实现
Dec 24 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
JavaScript 中的六种循环方法
Jan 06 Javascript
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 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP 时间日期操作实战
2011/08/26 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
如何实现JS函数的重载
2006/09/22 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
七年级政治教学反思
2014/02/03 职场文书
小学生作文评语大全
2014/04/21 职场文书
大四毕业生自荐书
2014/07/05 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
介绍信格式
2015/01/30 职场文书
社区敬老月活动总结
2015/05/07 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python
windows server2008 开启端口的实现方法
2022/06/25 Servers