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


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对象[0]是什么含义?
Jul 31 Javascript
调用HttpHanlder的几种返回方式小结
Dec 20 Javascript
js解决弹窗问题实现班级跳转DIV示例
Jan 06 Javascript
JQuery打造省市下拉框联动效果
May 18 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 Javascript
React.js入门学习第一篇
Mar 30 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
npm的lock机制解析
Jun 20 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
php抓取页面与代码解析 推荐
2010/07/23 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
ionic3 懒加载
2017/08/16 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python json模块使用实例
2015/04/11 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
Python的in,is和id函数代码实例
2020/04/18 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
UML设计模式笔试题
2014/06/07 面试题
毕业生就业自荐书
2013/12/15 职场文书
网络优化专员求职信
2014/05/04 职场文书
欢迎新生标语
2014/10/06 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
2014年人大工作总结
2014/12/10 职场文书
个人原因辞职信模板
2015/05/13 职场文书
导游词幽默开场白
2019/06/26 职场文书