微信小程序实现图片压缩功能


Posted in Javascript onJanuary 26, 2018

小龙大哥的微信小程序在初始阶段相当于IE界的6,在这里给大家说一个刚趟过去的坑。

拍照的API。

wx.chooseImage({
 count: 1, // 默认9
 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
 success: function (res) {
 // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
 var tempFilePaths = res.tempFilePaths; 
 }
});

在上边,明确的给出大小的类型,本想省事,然并没有什么用…..
废话少说,给大家说下IOS和安卓中差别,拍照图片压缩的坑。

// 点击照相
 takePictures:function(){
 var that = this;
 wx.chooseImage({
 count: 1, // 默认9
 sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
 sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
 success: function (res) {
 // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
 var tempFilePaths = res.tempFilePaths;

 that.setData({
 attendSuccessImg:tempFilePaths[0]
 });

 // 上传图片
 //判断机型
 var model = "";
 wx.getSystemInfo({
 success:function(res){
 model= res.model;
 }
 })
 if(model.indexOf("iPhone") <= 0){
 that.uploadFileOpt(that.data.attendSuccessImg);
 console.log(111111)
 }else{
 drawCanvas();

 }

 // 缩放图片
 function drawCanvas(){
 const ctx = wx.createCanvasContext('attendCanvasId');
 ctx.drawImage(tempFilePaths[0], 0, 0, 94, 96);
 ctx.draw();
 that.prodImageOpt();
 }
 }
 });
 },

 // 生成图片
 prodImageOpt:function(){
 var that = this;
 wx.canvasToTempFilePath({ 
 canvasId: 'attendCanvasId',
 success: function success(res) {
 that.setData({
 canvasImgUrl:res.tempFilePath
 });
 // 上传图片
 that.uploadFileOpt(that.data.canvasImgUrl);
 },
 complete: function complete(e) {
 }
 });
 },

再点击拍照后,IOS的进行了图片压缩功能,然而,安卓的依然是那么大,所以 在这过程中,我们需要判断下当前机型,然后执行canvas压缩。

上述代码,拿到即可用,但少一部分wxml中需要添加一个canvas标签。

进行接口调用。希望对大家有帮助。

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 支持ie和firefox杰奇翻页函数
Jul 22 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
May 26 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
JSP防止网页刷新重复提交数据的几种方法
Nov 19 Javascript
解析js如何获取css样式
Dec 11 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
微信小程序日历组件使用方法详解
Dec 29 Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 Javascript
使用webpack搭建vue环境的教程详解
Dec 31 Javascript
JS实现简单移动端鼠标拖拽
Jul 23 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 #Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 #Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 #jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 #jQuery
利用js给datalist或select动态添加option选项的方法
Jan 25 #Javascript
基于vue.js无缝滚动效果
Jan 25 #Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 #Javascript
You might like
Session的工作方式
2006/10/09 PHP
又一个php 分页类实现代码
2009/12/03 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
python实现ping的方法
2015/07/06 Python
python计算两个地址之间的距离方法
2018/06/09 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
摄影展策划方案
2014/06/02 职场文书