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


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 相关文章推荐
splice slice区别
Oct 09 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
Jan 12 Javascript
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
Oct 17 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
Mar 03 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
Apr 16 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
Oct 29 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 jQuery
vue.js实现插入数值与表达式的方法分析
Jul 06 Javascript
Vue打包后访问静态资源路径问题
Nov 08 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 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指定函数参数默认值示例代码
2013/12/04 PHP
php常见的魔术方法详解
2014/12/25 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
浅谈Python爬取网页的编码处理
2016/11/04 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
《王二小》教学反思
2014/02/27 职场文书
药学职务聘任书
2014/03/29 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
在校学生证明格式
2015/06/24 职场文书
思品教学工作总结
2015/08/10 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL