久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

怎么實現小程序圖片選擇區域裁剪-創新互聯

這篇文章給大家分享的是有關怎么實現小程序圖片選擇區域裁剪的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

為江口等地區用戶提供了全套網頁設計制作服務,及江口網站建設行業解決方案。主營業務為網站制作、成都網站制作、江口網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

具體如下:


效果圖


怎么實現小程序圖片選擇區域裁剪

怎么實現小程序圖片選擇區域裁剪

怎么實現小程序圖片選擇區域裁剪

HTML代碼

<view class="index_all_box">
 <view class="imgCut_header">
 <view class="imgCut_header_l" bindtap='okCutImg'>開始裁剪</view>
 <view class="imgCut_header_m" bindtap='clickUpImg'>點擊上傳圖片</view>
 <view class="imgCut_header_r" bindtap='okBtn'>點擊確認</view>
 </view>
 <!-- 選擇裁剪模式 -->
 <view class="selectCutMode" wx:if='{{alreay}}'>
 <view class="selectCutMode_in {{cutType?'selectCutMode_in_act':''}}" bindtap='etcType'>
  等屏裁剪
 </view>
 <view class="selectCutMode_in {{!cutType?'selectCutMode_in_act':''}}" bindtap='areaType'>
  區域裁剪
 </view>
 </view>
 <view class="areaSelct_box" wx:if='{{!cutType && alreay}}'>
 <slider bindchange="areaChange" min="50" max="100" show-value value='{{propor}}'/>
 </view>
 <view class="cutImg_box" wx:if='{{!prienFlag}}'>
 <view class="cutImg_box_t">
  <image src="{{cutImgUrl}}" mode='widthFix'></image>
 </view>
 <view class="clickCutImg_txt" bindtap='againBtn'>重新裁剪</view>
 </view>
 <view class="allCavans" wx:if='{{prienFlag}}' style='width: {{canvasW}}px;height: {{canvasH}}px' >
 <canvas class='canvasSty' style='width: {{canvasW}}px;height: {{canvasH}}px' canvas-id='cutImg' disable-scroll='true' bindtouchmove='canvasMove'></canvas>
 <view class="allCavans_inbg" style='width: {{canvasW}}px;height:{{canvasH}}px; background: url({{img}});background-size: 100% 100%'></view>
 </view>
 
 
</view>

CSS代碼

.imgCut_header{
 padding: 30rpx;
 display: flex;
 justify-content: space-between;
 align-items: center;
 background: #000;
 color: #fff;
 font-size: 24rpx;
}
.allCavans{
 margin: 20rpx auto;
 position: relative;
}
.canvasSty{
 position: absolute;
}
.cutImg_box{
 width: 100%;
 
 border-bottom: 2rpx #f98700 solid;
 padding-bottom: 20rpx;
}
.cutImg_box .cutImg_box_t{
 width: 90%;
 margin: 20rpx auto;
}
.cutImg_box image{
 width: 100%;
}
.cutImg_box .cutImg_box_b{
 margin-top: 20rpx;
 width: 80%;
 height: 80rpx;
 line-height: 80rpx;
 background: #f98700;
 color: #fff;
 border-radius: 10rpx;
 text-align: center;
 margin:0rpx auto;
}
.selectCutMode{
 background: #fff;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.selectCutMode .selectCutMode_in{
 width: 100%;
 text-align: center;
 background: #fff;
 color: #f98700;
 font-size: 24rpx;
 padding: 20rpx;
}
.selectCutMode .selectCutMode_in_act{
 background: #f98700;
 color: #fff;
 padding: 20rpx;
}
.areaSelct_box{
 width: 100%;
 display: flex;
 align-items: center;
 height: 50rpx;
 justify-content: center;
 margin-top: 20rpx;
}
.areaSelct_box slider{
 width: 80%;
}
.cutImg_box .clickCutImg_txt{
 width: 100%;
 text-align: center;
 height: 50rpx;
 font-size: 24rpx;
 line-height: 50rpx;
 color: #999;
}

JS代碼部分

初始加載帶入上一個頁面帶過來的參數路徑

onLoad: function (options) {
  var that = this;
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  var aa = 'https://pintuanqu.oss-cn-hangzhou.aliyuncs.com/Uploads/Picture/goodsShow/20171201/5a2125fc86566.png'<br />  //獲取當前屏幕寬度
  var phoneW = Number(util.nowPhoneWH()[0]*90)/100;
  var cutH = 150;
  wx.getImageInfo({
   src: aa,
   success: function (res) {
    var w = phoneW;
    var h = (phoneW/Number(res.width))*Number(res.height)
    ctx.save() 
    ctx.drawImage(aa, 0, 0, w, h)
    ctx.restore()
    ctx.setFillStyle('red')
    ctx.fillRect(0, 0, phoneW, cutH)
    ctx.draw()
    that.setData({
     canvasW:w,
     canvasH:h,
     img:aa,
     cutH:cutH
    })
   }
  })
 },

確定選擇區域開始裁剪

// 點擊確認裁剪圖片
 okCutImg:function(){
  var that = this;
  var canvasW = that.data.canvasW;
  var canvasH = that.data.canvasH;
  var nowCutW = that.data.cutType?canvasW:that.data.nowCutW;
  var nowCutH = that.data.cutType?that.data.cutH:that.data.nowCutH;
  var cutX = that.data.cutX;
  var cutY = that.data.cutY;
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(1)
  ctx.drawImage(that.data.img, 0, 0, canvasW, canvasH)
  ctx.draw()
  wx.canvasToTempFilePath({
   x: cutX,
   y: cutY,
   width: nowCutW,
   height: nowCutH,
   destWidth: nowCutW,
   destHeight: nowCutH,
   canvasId: 'cutImg',
   success: function(res) {
    var aa = res.tempFilePath
    that.setData({
     cutImgUrl:aa,
     prienFlag:false,
     alreay:false
    })
   } 
  })
 },

紅框根據手指移動方法

// 點擊紅框開始移動
 canvasMove:function(e){
  var that = this;
  var canvasW = that.data.canvasW;
  var canvasH = that.data.canvasH;
  var nowCutW = that.data.cutType?canvasW:that.data.nowCutW;
  var nowCutH = that.data.cutType?that.data.cutH:that.data.nowCutH
  var touches = e.touches[0];  
  var x = touches.x;
  var y = touches.y-(Number(nowCutH)/2);
  that.data.cutType?x=0:x=x-(Number(nowCutW)/2);
  that.setData({
   cutX:x,
   cutY:y
  })
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  ctx.drawImage(that.data.img, 0, 0, canvasW, canvasH)
  ctx.setFillStyle('red')
  ctx.fillRect(x, y, nowCutW, nowCutH)
  ctx.draw()
 },

上方兩個選擇裁剪方式的按鈕

等屏裁剪

//等屏裁剪
 etcType:function(){
  var that = this;
  var propor = 100;
  var canvasW = that.data.canvasW;
  var canvasH = that.data.canvasH;
  var cutH = that.data.cutH;
  var nowCutW = (Number(canvasW)*propor)/100
  var nowCutH = (Number(cutH)*propor)/100
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  ctx.drawImage(that.data.img, 0, 0, canvasW, canvasH)
  ctx.setFillStyle('red')
  ctx.fillRect(0, 0, nowCutW, nowCutH)
  ctx.draw()
  that.setData({
   nowCutW:nowCutW,
   nowCutH:nowCutH,
   cutType:true
  })
 },

局域裁剪

areaType:function(){
  var that = this;
  var propor = that.data.propor;
  var canvasW = that.data.canvasW;
  var canvasH = that.data.canvasH;
  var cutH = that.data.cutH;
  var nowCutW = (Number(canvasW)*propor)/100
  var nowCutH = (Number(cutH)*propor)/100
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  ctx.drawImage(that.data.img, 0, 0, canvasW, canvasH)
  ctx.setFillStyle('red')
  ctx.fillRect(0,0, nowCutW, nowCutH)
  ctx.draw()
  that.setData({
   nowCutW:nowCutW,
   nowCutH:nowCutH,
   cutType:false
  })
 },

局域裁剪上方的滑動選擇紅框根據寬度等比例縮放

areaChange:function(e){
  var that = this;
  var propor = e.detail.value;
  var canvasW = that.data.canvasW;
  var canvasH = that.data.canvasH;
  var cutH = that.data.cutH;
  var nowCutW = (Number(canvasW)*propor)/100
  var nowCutH = (Number(cutH)*propor)/100
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  ctx.drawImage(that.data.img, 0, 0, canvasW, canvasH)
  ctx.setFillStyle('red')
  ctx.fillRect(that.data.cutX||0, that.data.cutY||0,nowCutW, nowCutH)
  ctx.draw()
  that.setData({
   nowCutW:nowCutW,
   nowCutH:nowCutH,
   propor:propor
  })
 },

重新裁剪回到初始選擇圖片的頁面

// 重新裁剪
 againBtn:function(){
  var that = this;
  var data = that.data
  this.setData({
   prienFlag:true,
   alreay:true
  })
  const ctx = wx.createCanvasContext('cutImg');
  ctx.setGlobalAlpha(0.4)
  ctx.drawImage(data.img, 0, 0, data.canvasW, data.canvasH)
  ctx.setFillStyle('red')
  ctx.fillRect(that.data.cutX||0, that.data.cutY||0, data.nowCutW||data.canvasW, data.nowCutH||data.cutH)
  ctx.draw()
 },

感謝各位的閱讀!關于怎么實現小程序圖片選擇區域裁剪就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享名稱:怎么實現小程序圖片選擇區域裁剪-創新互聯
網頁鏈接:http://www.js-pz168.com/article26/coipjg.html

成都網站建設公司_創新互聯,為您提供動態網站外貿網站建設網站策劃網站內鏈電子商務Google

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
国产精品久久久久久久久婷婷| 欧美艳星brazzers| 欧美日韩一卡二卡三卡 | 亚洲欧美视频在线观看| 青娱乐精品视频在线| 9色porny自拍视频一区二区| 欧洲高清一区二区| 91精品久久久久久久久99蜜臂| 国产精品久久久久久亚洲伦| 蜜桃视频第一区免费观看| 51国产成人精品午夜福中文下载 | 99久久夜色精品国产网站| 日韩国产精品一区二区| 日韩午夜在线观看| 亚洲综合久久久久| 大桥未久av一区二区三区中文| 麻豆传媒一区| 日韩一区二区三免费高清| 亚洲精品视频自拍| 丁香亚洲综合激情啪啪综合| 日韩av图片| 精品成人一区二区三区| 丝袜美腿亚洲综合| 99久久99| 欧美日韩一本到| 亚洲精品免费在线| 成人污视频在线观看| 亚洲日本精品| 欧美国产精品v| 国内精品久久久久影院薰衣草| 久久综合伊人77777麻豆| 日韩一区二区三区观看| 香港成人在线视频| 国产经典一区二区三区| 6080yy午夜一二三区久久| 一区二区在线免费| 99精品视频中文字幕| 色一情一伦一子一伦一区| 国产精品欧美久久久久一区二区| 国精产品一区一区三区mba视频| 蜜桃日韩视频| 日韩免费高清av| 日韩二区三区四区| 久久国产主播精品| 精品久久久久久综合日本欧美| 日韩精品一级中文字幕精品视频免费观看 | 国产伦精品一区二区三区在线| 欧美喷潮久久久xxxxx| 亚洲激情图片qvod| av免费精品一区二区三区| 9191久久久久久久久久久| 亚洲a一区二区| 国产一区喷水| 精品国产电影一区二区| 久久精品噜噜噜成人88aⅴ| 蜜桃999成人看片在线观看| 精品美女被调教视频大全网站| 蜜桃av噜噜一区| 日韩成人在线资源| 国产精品视频九色porn| 成人sese在线| 欧美精品色一区二区三区| 亚洲动漫第一页| 精品视频在线观看| 久久久美女毛片| 国产传媒欧美日韩成人| 色婷婷久久久亚洲一区二区三区 | 欧洲亚洲一区二区| 欧美激情自拍偷拍| av动漫一区二区| 欧美一区二区三区婷婷月色| 免费日韩伦理电影| 亚洲视频电影| 亚洲永久免费视频| 久久久久久国产精品免费免费| 国产午夜精品理论片a级大结局| 成人性视频网站| 777色狠狠一区二区三区| 奇米888四色在线精品| 五月天色一区| 亚洲精品视频免费看| 国产亚洲欧美一区二区| 国产欧美日韩精品a在线观看| 成人av网站在线| 日韩三级av在线播放| 国产精品自在在线| 欧美美女bb生活片| 久久99精品国产麻豆婷婷洗澡| 色综合久久久久网| 性久久久久久久久久久久| 神马影院一区二区三区| 一区二区三区蜜桃网| 六月婷婷久久| 亚洲欧美一区二区三区极速播放| 精品久久sese| 日韩久久一区二区| 精品国产一区二区三区四区精华| 亚洲国产高清在线| 高清日韩一区| 中文字幕一区二区三区不卡在线 | 中文字幕+乱码+中文字幕一区| 3d精品h动漫啪啪一区二区| 久久综合久久综合九色| av中文字幕不卡| 久久久天堂av| 97在线中文字幕| 国产精品免费丝袜| 精品999在线观看| 亚洲久草在线视频| 视频一区视频二区视频三区高| 亚洲一卡二卡三卡四卡无卡久久| 日韩欧美国产二区| 午夜欧美电影在线观看| 一本色道综合亚洲| 久久99久国产精品黄毛片色诱| 欧美精品精品一区| 东方aⅴ免费观看久久av| 久久综合九色综合97_久久久| 69堂成人精品视频免费| 国产精品欧美精品| 欧美日韩亚洲综合一区二区三区激情在线| 一区二区成人在线视频| 亚洲一区高清| 久久精品国产色蜜蜜麻豆| 欧美高清dvd| av影院午夜一区| 国产欧美日韩激情| 欧美日韩三区四区| 偷拍一区二区三区| 欧美日韩在线综合| 成人激情文学综合网| 国产视频一区在线播放| 久久国产精品 国产精品| 亚洲五码中文字幕| 欧美综合亚洲图片综合区| 国产精品一二三四| 久久精品无码一区二区三区| 黑人中文字幕一区二区三区| 亚洲国产成人高清精品| 欧美亚洲国产怡红院影院| 国产成人精品亚洲日本在线桃色 | 欧美一三区三区四区免费在线看| av在线综合网| 亚洲色大成网站www久久九九| 这里只有精品66| 国产精品资源在线观看| 久久综合成人精品亚洲另类欧美| 黄色91av| 日本vs亚洲vs韩国一区三区二区| 91精品久久久久久久99蜜桃| 99re亚洲国产精品| 亚洲另类一区二区| 欧美午夜片在线看| 99久久久国产精品| 亚洲精品免费电影| 欧美视频一区在线| 91嫩草在线| 亚洲午夜精品网| 91精品国产综合久久福利软件 | 色婷婷av一区二区三区之一色屋| 国产精品性做久久久久久| 国产日韩精品一区二区三区| 日韩欧美电影一区二区| 国产麻豆日韩欧美久久| 欧美激情在线看| 色诱视频网站一区| zzijzzij亚洲日本少妇熟睡| 亚洲欧美电影院| 欧美精品在线一区二区三区| 国产激情一区二区三区在线观看| 视频一区二区三区在线| 精品久久久久久久久久久久久久久久久 | 97aⅴ精品视频一二三区| 一区二区三区在线观看视频| 欧美日韩mp4| 国产偷国产偷亚洲高清97cao| 日韩av网站免费在线| 久久久久久久久久久99999| 亚洲日本精品| av福利精品导航| 五月综合激情婷婷六月色窝| 欧美va亚洲va香蕉在线| 日韩免费中文专区| 成人av网站免费观看| 亚洲国产va精品久久久不卡综合| 日韩视频一区二区三区在线播放| 久久精品国产一区二区三区不卡| 国内久久婷婷综合| 亚洲天堂av一区| 4438亚洲最大| 品久久久久久久久久96高清| 国产成人99久久亚洲综合精品| 亚洲男人都懂的| 日韩精品一区二区在线观看| 日韩视频在线播放| 99视频超级精品| 免费的国产精品| 国产精品久久久久久久久免费樱桃 | 日韩视频一区二区在线观看| 色999五月色|