微信小程序实战开发:图片选取以及拍照功能

一、图片选择功能
从本地相册选择图片或使用相机拍照
微信小程序实战开发:图片选取以及拍照功能_第1张图片 

 
使用过程如下:
  1. wx.chooseImage({
  2.   count: 1, // 默认9
  3.   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  4.   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  5.   success: function (res) {
  6.     // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
  7.     var tempFilePaths = res.tempFilePaths
  8.   }
  9. })
复制代码
代码镶嵌在原本的代码框架中就是现在这样:
《---picture.js》
  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5.   data: {
  6. source:"",
  7.   },


  8. listenerButtonChooseImage: function() {
  9.       var that = this;
  10.       wx.chooseImage({
  11.           count: 1,
  12.           //original原图,compressed压缩图
  13.           sizeType: ['original'],
  14.           //album来源相册 camera相机 
  15.           sourceType: ['album', 'camera'],
  16.           //成功时会回调
  17.           success: function(res) {
  18.                 //重绘视图
  19.               that.setData({
  20.                   source: res.tempFilePaths,
  21.                              })

  22. wx.previewImage({
  23.    current: 'http://119.29.74.46/myphoto/0.jpg', // 当前显示图片的链接,不填则默认为 urls 的第一张
  24.   urls: [ 'http://119.29.74.46/myphoto/0.jpg',
  25.    'http://119.29.74.46/myphoto/1.jpg',
  26.     'http://119.29.74.46/myphoto/2.jpg',
  27.      'http://119.29.74.46/myphoto/3.jpg',
  28.       'http://119.29.74.46/myphoto/4.jpg'
  29.       , 'http://119.29.74.46/myphoto/5.jpg',
  30.        'http://119.29.74.46/myphoto/6.jpg',
  31.         'http://119.29.74.46/myphoto/7.jpg'],
  32.   success: function(res){


  33.   },
  34.   fail: function() {
  35.     // fail
  36.   },
  37.   complete: function() {
  38.     // complete
  39.   }
  40. })          }
  41.       })
  42.   },

  43.    onShareAppMessage: function () {
  44.     return {
  45.       title: '欢迎使用颜大傻牌跑步计',
  46.       desc: '将你的战绩分享到~~~',
  47.       path: '/page/picture/picture.js'
  48.     }
  49.   },
  50. })
复制代码
《---picture.wxml》



  1. 点击我选择相册


  2. 发布
复制代码
整体的文件架构图如下:
微信小程序实战开发:图片选取以及拍照功能_第2张图片 
二、增置了图片预览
图片预览功能需要服务器端的配置。所以,今后这可能是作为一个网站架构,成为某种服务性的商业软件的需要。配置服务器的小程序相对于功能性的来说要麻烦点,因为需要服务端的配合。但是幸亏我手头有几个空置的云服务器,所以就直接拿来写了一个这种东西。后期可能会直接开发一个类似于朋友圈的,可以把图片放到服务器上去。附上文字,然后慢慢的形成一个闭环的圈子。当然这是我的想法, 目前小程序只是玩耍的工具。
图片预览功能其实很简单,就是把服务器端的图片下载下来进行一种压缩格式的预览。稍后容我一一道来。目前这个功能,怎么来说呢,其实就是个鸡肋。因为我的图片大多是本地文件,要不就是直接加载的服务端的图片,预览这个作用实在让我难以找到用途。不过,如果今后真要布置一个圈子的话,这一点又是必不可少的。毕竟预览这个功能可以省下巨多流量!
《picture.js》
  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5.   data: {
  6. source:"http://159.203.250.111/Carly.png",
  7.   },


  8. listenerButtonChooseImage: function() {
  9.       var that = this;
  10.       wx.chooseImage({
  11.           count: 1,
  12.           //original原图,compressed压缩图
  13.           sizeType: ['original'],
  14.           //album来源相册 camera相机 
  15.           sourceType: ['album', 'camera'],
  16.           //成功时会回调
  17.           success: function(res) {
  18.                 //重绘视图
  19.               that.setData({
  20.                   source: res.tempFilePaths,
  21.                              })

  22.           }
  23.       })
  24.   },

  25.   yulan:function(){
  26.     wx.previewImage({
  27.    current: 'http://119.29.74.46/myphoto/0.jpg', // 当前显示图片的链接,不填则默认为 urls 的第一张
  28.   urls: [ 'http://119.29.74.46/myphoto/0.jpg',
  29.    'http://119.29.74.46/myphoto/1.jpg',
  30.     'http://119.29.74.46/myphoto/2.jpg',
  31.      'http://119.29.74.46/myphoto/3.jpg',
  32.       'http://119.29.74.46/myphoto/4.jpg',
  33.        'http://119.29.74.46/myphoto/5.jpg',
  34.        'http://119.29.74.46/myphoto/6.jpg',
  35.         'http://119.29.74.46/myphoto/7.jpg'],
  36.   success: function(res){


  37.   },
  38.   fail: function() {
  39.     // fail
  40.   },
  41.   complete: function() {
  42.     // complete
  43.   }
  44. })
  45.   },

  46.    onShareAppMessage: function () {
  47.     return {
  48.       title: '欢迎使用颜大傻牌跑步计',
  49.       desc: '将你的战绩分享到~~~',
  50.       path: '/page/picture/picture.js'
  51.     }
  52.   },
  53. })
复制代码
《picture.wxml》
《---picture.wxml》










复制代码

微信小程序实战开发:图片选取以及拍照功能_第3张图片 

4.gif (419.75 KB, 下载次数: 0)

下载附件

4 小时前 上传


预览功能的原理很简单,其实就是给你一个按钮,绑定一个事件。这个事件就是向服务器请求预览图片加载,所谓预览图片加载呢。其实就是一个压缩过的,低像素的图片啦。然后给你发送过来,你就完成了所谓的预览。

你可能感兴趣的:(微信小程序实战开发:图片选取以及拍照功能)