iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序如何实现裁剪图片大小
  • 519
分享到

微信小程序如何实现裁剪图片大小

2023-06-30 16:06:39 519人浏览 八月长安
摘要

这篇文章主要介绍“微信小程序如何实现裁剪图片大小”,在日常操作中,相信很多人在微信小程序如何实现裁剪图片大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现裁剪图片大小”的疑惑有所帮助!接下来

这篇文章主要介绍“微信小程序如何实现裁剪图片大小”,在日常操作中,相信很多人在微信小程序如何实现裁剪图片大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现裁剪图片大小”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

效果图

微信小程序如何实现裁剪图片大小

.wxml

<button bindtap="uploadtap">上传图片</button><image  mode="widthFix" src="{{canfile_image}}"></image><canvas canvas-id="myCanvas" id="myCanvas" ></canvas><view class="canvas_model" wx:if="{{canvas_arr.show}}" catchtouchmove="setTouchMove">  <view class="canvas_view"   bindtouchstart="handletouchstart" bindtouchmove="handletouchmove">    <image  src="{{canvas_arr.src}}"></image>    <view >      <view class="canvas_horn" >        <view></view>        <view></view>        <view></view>        <view></view>        <view></view>        <view></view>        <image  src="{{canvas_arr.src}}"></image>      </view>    </view>  </view>  <view class="canvas_bar" wx:if="{{cutting.show}}">    <view bindtap="color_tap">×</view>    <view class="bar_tab {{color_status?'tab_cation':''}}" bindtap="color_tap" data-type="1">      <view>浅色</view>      <view>深色</view>      <view></view>    </view>    <view bindtap="ationimg">√</view>  </view></view>

.wxss

 .canvas_model{width: 100%;height: 100vh;position: fixed;left: 0;top: 0;background: rgba(0, 0, 0, 0.6);z-index: 10;display:flex;justify-content: center;padding-top: 10vh;animation:model 0.3s;}@keyframes model{  from { opacity: 0;transfORM: scale(0.5); }  to { opacity:1;transform: scale(1); }}.canvas_view{float: left;position: relative;}.canvas_view>view{width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: rgba(255, 255, 255, 0.4);transition: all 0.3s;}.canvas_horn{position: absolute;left: 0;width: 100%;overflow: hidden;}.canvas_horn>view{width: 40rpx;height: 40rpx;position: absolute;z-index: 1;}.canvas_horn>image{position: absolute;left: 0;top: 0;}.canvas_horn>view:nth-child(1){border-left: 2px solid #fff;border-top: 2px solid #fff;left: 0;top: 0;}.canvas_horn>view:nth-child(2){border-right: 2px solid #fff;border-top: 2px solid #fff;right: 0;top: 0;}.canvas_horn>view:nth-child(3){border-left: 2px solid #fff;border-bottom:2px solid #fff;left: 0;bottom: 0;}.canvas_horn>view:nth-child(4){border-right: 2px solid #fff;border-bottom: 2px solid #fff;right: 0;bottom: 0;}.canvas_horn>view:nth-child(5){width: 60rpx;height: 2px;background: #fff;top: 0;left: 0;right: 0;margin: 0 auto;}.canvas_horn>view:nth-child(6){width: 60rpx;height: 2px;background: #fff;bottom: 0;left: 0;right: 0;margin: 0 auto;}.canvas_bar{width: 100%;height: 14vh;display: flex;align-items: center;justify-content: space-between;background: #fff;position: absolute;left: 0;bottom: 0;animation:bartion 0.5s;}@keyframes bartion{  from { bottom: -14vh; }  to { bottom: 0; }}.canvas_bar>view:nth-child(1),.canvas_bar>view:nth-child(3){width: 160rpx;height: 100%;display: flex;align-items: center;justify-content: center;font-size: 44rpx;font-weight: 700;}.bar_tab{width: 300rpx;display: flex;height: 60rpx;border-radius: 10rpx;border: 1px solid #f4f4f4;line-height: 60rpx;position: relative;font-size: 24rpx;color: #333;}.bar_tab>view{width: 50%;height: 100%;text-align: center;position: relative;z-index: 1;transition: all 0.3s;}.bar_tab>view:nth-child(1){color: #fff;}.bar_tab>view:nth-child(3){position: absolute;left: 0;top: 0;background: #0081ff;border-radius: 10rpx;z-index: 0;}.tab_cation>view:nth-child(1){color: #000;}.tab_cation>view:nth-child(2){color: #fff;}.tab_cation>view:nth-child(3){left: 50%;}#myCanvas{position: absolute;left: 0;top: -71vh;z-index: -1;opacity: 0;}

.js

Page({  data: {    canvas_arr:{      src:'',      width:parseInt(wx.getSystemInfoSync().windowWidth * 0.9),      height:parseInt(wx.getSystemInfoSync().windowHeight * 0.7),      show:false    },    cutting:{      height:0,      max_y:0,      show:false    },    canvas_y:0,    color_status:false,    canfile_image:'',  },  color_tap(e){    var type = e?e.currentTarget.dataset.type:0    if(type == 1){      this.setData({        color_status:!this.data.color_status      })    }else{      this.data.canvas_arr.show = false      this.data.canvas_arr.height = parseInt(wx.getSystemInfoSync().windowHeight * 0.7)      this.data.cutting.show = false      this.data.cutting.src = ''      this.setData({        canvas_arr:this.data.canvas_arr,        cutting:this.data.cutting,        canvas_y:0,      })    }  },  setTouchMove(e){return;},  uploadtap(e){    var that = this    wx.chooseImage({      count:1,      success (res) {        const tempFilePaths = res.tempFilePaths[0]        that.data.canvas_arr.src = tempFilePaths        wx.getImageInfo({          src: tempFilePaths,          success (res) {            that.data.canvas_arr.show = true            that.data.cutting.show = true            that.data.cutting.height = that.data.canvas_arr.width / 2            var height = parseInt(res.height / (res.width / that.data.canvas_arr.width))            that.data.canvas_arr.height = height > that.data.canvas_arr.height ? that.data.canvas_arr.height : height            that.data.cutting.max_y = that.data.canvas_arr.height - that.data.cutting.height            that.setData({              canvas_arr:that.data.canvas_arr            })            setTimeout(function () {              that.setData({                cutting:that.data.cutting              })            },500)          }        })      }    })  },  handletouchstart: function (e) {    this.data.startY = e.touches[0].clientY  },  handletouchmove (e) {    let currentY = e.touches[0].clientY - this.data.startY    if(currentY > 0){      this.setData({        canvas_y:currentY > this.data.cutting.max_y?this.data.cutting.max_y:currentY,      })    }else{      this.setData({        canvas_y:0      })    }  },  ationimg(e){    var that = this    var canvas_img = wx.createCanvasContext('myCanvas')    canvas_img.width = that.data.canvas_arr.width    canvas_img.height = that.data.canvas_arr.height    canvas_img.drawImage(that.data.canvas_arr.src,0,0,canvas_img.width,canvas_img.height)    canvas_img.draw(true,(()=>{      wx.canvasToTempFilePath({        x: 0,        y: that.data.canvas_y,        width:that.data.canvas_arr.width,        height:that.data.cutting.height,        canvasId: 'myCanvas',        success: function (res) {          that.setData({            canfile_image:res.tempFilePath          })          that.color_tap()          wx.showToast({            title: '裁剪成功~',            icon: 'none',            duration: 3000          })        }      });    }))  },})

功能主要针对轮播图片尺寸,不合适可自行修改比例

到此,关于“微信小程序如何实现裁剪图片大小”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 微信小程序如何实现裁剪图片大小

本文链接: https://www.lsjlt.com/news/329987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序实现裁剪图片大小
    本文实例为大家分享了微信小程序实现裁剪图片大小的具体代码,供大家参考,具体内容如下 效果图 .wxml <button bindtap="uploadtap">上传图片...
    99+
    2024-04-02
  • 微信小程序如何实现裁剪图片大小
    这篇文章主要介绍“微信小程序如何实现裁剪图片大小”,在日常操作中,相信很多人在微信小程序如何实现裁剪图片大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现裁剪图片大小”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • 微信小程序实现图片裁剪功能
    微信小程序实现图片裁剪功能随着微信小程序的快速发展,越来越多的开发者开始探索小程序的潜力。其中,图片处理功能是小程序中常见的需求之一。本文将介绍如何在微信小程序中实现图片裁剪功能,并提供具体的代码示例,帮助开发者快速实现这一功能。准备工作在...
    99+
    2023-11-21
    图片 微信小程序 裁剪
  • 微信小程序实现照片裁剪
    本文实例为大家分享了微信小程序实现照片裁剪的具体代码,供大家参考,具体内容如下 前段时间用小程序的canvas、movable-area、movable-view封装了一个按比例裁剪...
    99+
    2024-04-02
  • 微信小程序如何实现照片裁剪
    这篇文章主要讲解了“微信小程序如何实现照片裁剪”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现照片裁剪”吧!组件代码cut_photo.json{  &q...
    99+
    2023-06-30
  • 微信小程序图片裁剪功能的实现
    文章目录 图片上传与处理图片尺寸适配图片显示与裁剪框裁剪框的拖动与缩放增加canvas并裁剪图片保存图片到相册总结 在之前的博文中,已经介绍了如何使用在前端开发中,实现较方便自由的图片裁剪功能,可见博文: 如何一步步实现图片...
    99+
    2023-08-17
    微信小程序 小程序 前端 javascript
  • 微信小程序实现图片裁剪并上传功能
    微信小程序实现图片裁剪并上传功能随着微信小程序的快速发展,越来越多的开发者开始关注微信小程序的开发技巧和功能实现。其中,图片裁剪并上传功能是一个常见的需求,本文将介绍如何在微信小程序中实现图片裁剪并上传的功能,并提供具体的代码示例。一、功能...
    99+
    2023-11-21
    微信 小程序 图片裁剪 上传
  • 微信小程序如何实现图片选择区域裁剪功能
    这篇文章主要为大家展示了“微信小程序如何实现图片选择区域裁剪功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序如何实现图片选择区域裁剪功能”这篇文章吧...
    99+
    2024-04-02
  • 小程序实现图片裁剪上传
    本文实例为大家分享了小程序实现图片裁剪上传的具体代码,供大家参考,具体内容如下 <!--图片展示 --> <view bindtap='upEwm' data-wh...
    99+
    2024-04-02
  • 实现微信小程序中的图片裁剪并保存功能
    实现微信小程序中的图片裁剪并保存功能小程序已经逐渐成为人们生活中不可或缺的一部分,我们在使用小程序的过程中,经常会遇到需要对图片进行裁剪的情况。本文将介绍如何在微信小程序中实现图片裁剪并保存的功能。一、分析需求在开始开发之前,我们首先需要明...
    99+
    2023-11-21
  • JavaScript如何实现小程序图片裁剪功能
    这篇文章主要介绍“JavaScript如何实现小程序图片裁剪功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现小程序图片裁剪功能”文章能帮助大家解决问题。图片上传与处理要...
    99+
    2023-07-05
  • 微信小程序如何实现图片双滑缩放大小
    这篇文章主要介绍了微信小程序如何实现图片双滑缩放大小 ,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在做小程序开发的过程中,后端传来一张图片地图,需要实现双手指滑动,使图片缩...
    99+
    2023-06-26
  • 微信小程序裁剪头像插件如何使用
    这篇文章主要介绍“微信小程序裁剪头像插件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序裁剪头像插件如何使用”文章能帮助大家解决问题。用户上传头像,需要裁剪成正方形,结合在网上找到裁...
    99+
    2023-06-30
  • 微信小程序如何实现上传图片
    这篇文章主要介绍微信小程序如何实现上传图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一 小程序端user.wxml<view class='u...
    99+
    2024-04-02
  • 实现微信小程序中的图片放大缩小效果
    实现微信小程序中的图片放大缩小效果,需要具体代码示例在微信小程序中实现图片的放大缩小效果是一个常见需求,可以通过使用WXSS样式和WXSS样式来实现。下面将介绍具体的代码示例。1.在wxml文件中编写图片和相关的按钮组件:<view&...
    99+
    2023-11-21
  • 微信小程序如何实现图片自适应
    这篇文章主要介绍了微信小程序如何实现图片自适应,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先我们来看看图片组件给的一些说明:属性名类型默...
    99+
    2024-04-02
  • 微信小程序实现上传图片
    本文实例为大家分享了微信小程序实现上传图片的具体代码,供大家参考,具体内容如下 //wxml <button class='button' bingtap="uploadSom...
    99+
    2024-04-02
  • 微信小程序实现图片上传
    微信小程序实现图片上传 最近做了个小程序,涉及到了图片上传的功能,今天给大家详细介绍下如何实现小程序图片上传,话不多说先上代码 首先是静态布局和样式部分 .wxml代码部分 ...
    99+
    2023-09-07
    微信小程序 小程序 微信
  • 微信小程序图片懒加载如何实现
    这篇文章主要介绍“微信小程序图片懒加载如何实现”,在日常操作中,相信很多人在微信小程序图片懒加载如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序图片懒加载如何实现”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-26
  • 微信小程序带图片弹窗如何实现
    本篇内容主要讲解“微信小程序带图片弹窗如何实现 ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序带图片弹窗如何实现 ”吧!下面我来介绍一种使用官方组件就能实现的方法:首先找到官方文档:显...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作