微信小程序开发之相册选择和拍照详解及实例代码


Posted in Javascript onFebruary 22, 2017

微信小程序 拍照和相机选择详解

前言:

小程序中获取图片可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是图片,第二种是弹框提示用户是要拍照还是从相册选择,下面一一来看。

选择相册要用到wx.chooseImage(OBJECT)函数,具体参数如下:

微信小程序开发之相册选择和拍照详解及实例代码

直接来看打开相机相册的代码:

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

 },




})

方法一效果图如下:

微信小程序开发之相册选择和拍照详解及实例代码

个人认为第二种用户体验要好一点,效果如下:

微信小程序开发之相册选择和拍照详解及实例代码

点击获取弹框提示,代码如下:

Page({
 data: {
  tempFilePaths: ''
 },
 onLoad: function () {
 },
 chooseimage: function () {
  var that = this;
  wx.showActionSheet({
   itemList: ['从相册中选择', '拍照'],
   itemColor: "#CED63A",
   success: function (res) {
    if (!res.cancel) {
     if (res.tapIndex == 0) {
      that.chooseWxImage('album')
     } else if (res.tapIndex == 1) {
      that.chooseWxImage('camera')
     }
    }
   }
  })

 },

 chooseWxImage: function (type) {
  var that = this;
  wx.chooseImage({
   sizeType: ['original', 'compressed'],
   sourceType: [type],
   success: function (res) {
    console.log(res);
    that.setData({
     tempFilePaths: res.tempFilePaths[0],
    })
   }
  })
 }


})

文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

布局文件:

<button style="margin:30rpx;" bindtap="chooseimage">获取图片</button>
<image src="{{tempFilePaths }}" catchTap="chooseImageTap" mode="aspectFit" style="width: 100%; height: 450rpx" />

官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery中filter()方法用法实例
Jan 06 Javascript
JavaScript正则表达式的分组匹配详解
Feb 13 Javascript
详解网站中图片日常使用以及优化手法
Jan 09 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
微信小程序 转发功能的实现
Aug 04 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
Vue 实例事件简单示例
Sep 19 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
基于JQuery实现页面定时弹出广告
May 08 jQuery
vue实现购物车列表
Jun 30 Javascript
js仿微博动态栏功能
Feb 22 #Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 #Javascript
svg动画之动态描边效果
Feb 22 #Javascript
jQuery实现的简单拖动层示例
Feb 22 #Javascript
Bootstrap 3 进度条的实现
Feb 22 #Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 #Javascript
canvas 绘制圆形时钟
Feb 22 #Javascript
You might like
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
JS中三目运算符和if else的区别分析与示例
2014/11/21 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
python进度条显示之tqmd模块
2020/08/22 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
互动出版网:专业书籍
2017/03/21 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
信息技术培训感言
2014/03/06 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
音乐节策划方案
2014/06/09 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
赞助商致辞
2015/07/30 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
python中%格式表达式实例用法
2021/06/18 Python