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


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 相关文章推荐
浏览器无法运行JAVA脚本的解决方法
Jan 09 Javascript
JScript中使用ADODB.Stream判断文件编码的代码
Jun 09 Javascript
javascript new一个对象的实质
Jan 07 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
Jan 24 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
javascript实现列表切换效果
May 02 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
基于rem的移动端响应式适配方案(详解)
Jul 07 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
JS + HTML 罗盘式时钟的实现
May 21 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
PHP Switch 语句之学习笔记
2013/09/21 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
python如何统计序列中元素
2020/07/31 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
新书吧创业计划书
2014/01/31 职场文书
表彰会主持词
2014/03/26 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
Django程序的优化技巧
2021/04/29 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS