微信小程序实现上传图片裁剪图片过程解析


Posted in Javascript onAugust 22, 2019

有的时候我们上传头像,商品图片这些的时候有的希望上传的是自己想要的图片形状,吧图片宽高固定死的话,他又会变形,比列差不多的看起来没什么区别,不固定的话,他们会宽的高的不一样,看起来完全不舒服,不美观了。

所以想了个这样的办法,用这个裁剪工具,在选择图片的时候,就把图片的大小裁剪成自己想要的大小,这样就都一致了,下面我们来看看吧!

微信小程序实现上传图片裁剪图片过程解析

wxml:

<view class="wancll-padded-15 wancll-bg-white wancll-font-size-14">
 <view class="wancll-padded-l-5 wancll-padded-b-10">商品图片:</view>
 <view class="comlist-image is-flex wancll-padded-l-5">
  <view class='image-list' wx:if="{{imgs.length}}" wx:for="{{imgs}}" wx:key="key">
   <zan-badge catchtap='deleltImage' data-id='{{index}}'>x</zan-badge>
   <view class='add-image' catchtap='previewImage' data-id='{{index}}'>
    <image class='up-img' src="{{item}}" mode="aspectFill" />
   </view>
  </view>
  <view class='add-image' catchtap='addImage'>+</view>
 </view>
</view>

wxss

.comlist-image{
 display: flex;
 flex-wrap: wrap
}
.comlist-image .image-list{
 margin-right: 20rpx;
}
.comlist-image .up-img{
 width: 100rpx;
 height: 100rpx;
}
.comlist-image .add-image{
 width: 100rpx;
 height: 100rpx;
 padding: 10rpx;
 display: flex;
 justify-content: center;
 align-items: center;
 border: 1px solid #ccc;
 border-radius: 5px;
 font-size: 50rpx;
}

js:

data: {imgs:[]}

 // 添加图片
 addImage() {
  if (this.data.imgs.length>=5){
   APP.util.toast('商品图片不能超过5张')
   return
  }
  wx.chooseImage({
   count: 1,
   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: ['camera', 'album'], // 可以指定来源是相册还是相机,默认二者都有
   success: function (res) {
    // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
    var tempFilePaths = res.tempFilePaths;
    wx.navigateTo({
     url: "/pages/UploadImg/index?src=" + tempFilePaths
    });
   }
  });

 },
 // 图片预览
 previewImage(e) {
  let id = APP.util.getDataSet(e, 'id')
  wx.previewImage({
   current: this.data.imgs[id],
   urls: this.data.imgs,
  })
 },
 // 删除预览图片
 deleltImage(e) {
  let id = APP.util.getDataSet(e, 'id')
  let arr = this.data.imgs
  arr.splice(id, 1);
  this.setData({
   imgs: arr
  })
 },

将UploadImg.rar下载,放入\pages文件夹中

将weCropper.js下载,放入随便一个文件夹中引入即可

Javascript 相关文章推荐
JQuery 小练习(实例代码)
Aug 07 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
jquery跟随屏幕滚动效果的实现代码
Apr 13 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
Bootstrap Table中的多选框删除功能
Jul 15 Javascript
mpvue开发音频类小程序踩坑和建议详解
Mar 12 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 Javascript
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
ES6基础之 Promise 对象用法实例详解
Aug 22 #Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 #Javascript
node express使用HTML模板的方法示例
Aug 22 #Javascript
vue中使用v-model完成组件间的通信
Aug 22 #Javascript
layui动态表头的实现代码
Aug 22 #Javascript
深入理解令牌认证机制(token)
Aug 22 #Javascript
聊聊鉴权那些事(推荐)
Aug 22 #Javascript
You might like
长波有什么东西
2021/03/01 无线电
生成静态页面的php函数,php爱好者站推荐
2007/03/19 PHP
php smarty函数扩展
2010/03/15 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
django模板语法学习之include示例详解
2017/12/17 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
python数据预处理方式 :数据降维
2020/02/24 Python
python实现学生通讯录管理系统
2021/02/25 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
幼儿园园长岗位职责
2013/11/26 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
美食节目策划方案
2014/05/31 职场文书
洗手间标语
2014/06/23 职场文书
会计岗位说明书
2014/07/29 职场文书
2014年民政工作总结
2014/11/26 职场文书
文化大革命观后感
2015/06/17 职场文书