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


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 相关文章推荐
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 Javascript
javascript实现分栏显示小技巧附图
Oct 13 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
JS实现图片剪裁并预览效果
Aug 12 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
JavaScript中常用的简洁高级技巧总结
Mar 10 Javascript
解决VUE双向绑定失效的问题
Oct 29 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 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
德生PL330的评价与改造
2021/03/02 无线电
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python 文件管理实例详解
2015/11/10 Python
Python中print和return的作用及区别解析
2019/05/05 Python
python编写猜数字小游戏
2019/10/06 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
中学生班主任评语
2014/01/30 职场文书
十八届三中全会学习方案
2014/02/16 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
严以用权学习心得体会
2016/01/12 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS