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


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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
基于jquery的跨域调用文件
Nov 19 Javascript
javascript定义函数的方法
Dec 06 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
js正则表达式匹配数字字母下划线等
Apr 14 Javascript
第一次接触神奇的前端框架vue.js
Dec 01 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
浅析Vue 生命周期
Jun 21 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 Javascript
webpack优化之代码分割与公共代码提取详解
Nov 22 Javascript
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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
destoon二次开发入门示例
2014/06/20 PHP
jquery中this的使用说明
2010/09/06 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
Python列表切片操作实例总结
2019/02/19 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
机电一体化大学生求职信
2013/11/08 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
《画家乡》教学反思
2014/04/22 职场文书
公司委托书格式范文
2014/10/09 职场文书
暑期社会实践证明书
2014/11/17 职场文书
横空出世观后感
2015/06/09 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python