婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5 canvas實現移動端上傳頭像拖拽裁剪效果

HTML5 canvas實現移動端上傳頭像拖拽裁剪效果

熱門標簽:外呼系統電話怎么投訴 申請400電話流程簡介 邢臺縣地圖標注app 阜陽企業外呼系統 南通數據外呼系統推廣 外呼線穩定線路 地圖標注位置能賺錢嗎 pageadm實現地圖標注 呼和浩特外呼電銷系統排名

本示例使用HTML5 canvas,簡單的編寫了上傳頭像的裁剪效果,移動端支持拖拽后裁剪, 雖然樣式不好看,但是功能還算全:

下圖為裁剪后的效果:

html部分:

XML/HTML Code復制內容到剪貼板
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>上傳頭像</title>  
  6.     <meta name="renderer" content="webkit">  
  7.     <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  8. </head>  
  9. <body>  
  10. <div id="imgCrop" style="width:200px;height:200px;border:1px solid #ccc;overflow:hidden;">  
  11.     <img src="img/test.jpg" alt="">  
  12. </div>  
  13. <input type="file" accept="image/*" />  
  14. <button id="save">保存</button>  
  15. <p>下面為剪切的圖片:</p>  
  16. <div id="imgShow"></div>  
  17. </body>  
  18. </html>  

JavaScript部分:

JavaScript Code復制內容到剪貼板
  1. var $imgCrop = $("#imgCrop");   
  2. var $img = $imgCrop.find("img");   
  3. var img = $img[0];   
  4. var width = parseInt($imgCrop.css("width"));   
  5. var height = parseInt($imgCrop.css("height"));   
  6. var startX,startY,scale = 1;   
  7. var x = 0,y = 0;   
  8. $("input").on("change",function(){   
  9.     var fr = new FileReader();   
  10.     var file = this.files[0]   
  11.     //console.log(file);   
  12.     if(!/image\/\w+/.test(file.type)){   
  13.         alert(file.name + "不是圖片文件!");   
  14.         return;   
  15.     }   
  16.     console.log(file);   
  17.     $img.removeAttr("height width");   
  18.     fr.readAsDataURL(file);   
  19.   
  20.     fr.onload = function(){   
  21.         img.src = fr.result;   
  22.         var widthInit = img.width;   
  23.         if(img.width>img.height){   
  24.             img.height = height;   
  25.             x = (width - img.width)/2;   
  26.             y = 0;   
  27.         }else{   
  28.             img.width = width;   
  29.             x = 0;   
  30.             y = (height - img.height)/2;   
  31.         }   
  32.         scale = widthInit/img.width;   
  33.         move($img, x, y);   
  34.            
  35.     };   
  36.        
  37. });   
  38.   
  39. img.addEventListener("touchstart",function(e){     
  40.     startX = e.targetTouches[0].pageX;   
  41.     startY = e.targetTouches[0].pageY;   
  42.     
  43.     return;     
  44.   
  45. });    
  46. img.addEventListener("touchmove",function(e){     
  47.     e.preventDefault();     
  48.     e.stopPropagation();     
  49.   
  50.     var changeX = e.changedTouches[0].pageX - startX + x;   
  51.     var changeY = e.changedTouches[0].pageY - startY + y;   
  52.   
  53.     move($(this), changeX, changeY);   
  54.     return;     
  55.      
  56. });    
  57. img.addEventListener("touchend",function(e){      
  58.    var changeX = e.changedTouches[0].pageX - startX + x;   
  59.     var changeY = e.changedTouches[0].pageY - startY + y;   
  60.   
  61.     x = x + e.changedTouches[0].pageX - startX;   
  62.     y = y + e.changedTouches[0].pageY - startY;   
  63.   
  64.     move($(this), changeX, changeY);   
  65.     return;     
  66.      
  67. });     
  68. //確定目標圖片的樣式   
  69. function move(ele, x, y){   
  70.     ele.css({   
  71.         '-webkit-transform' : 'translate3d(' + x + 'px, ' + y + 'px, 0)',   
  72.         'transform' : 'translate3d(' + x + 'px, ' + y + 'px, 0)'  
  73.     });   
  74. }   
  75.   
  76. $("#save").on("click",function(){   
  77.     var url = imageData($img);   
  78.     console.log(url);   
  79.   
  80.     $("#imgShow").html("<img src="+url+" />");;   
  81. });   
  82. //裁剪圖片   
  83. function imageData($img) {   
  84.         var canvas = document.createElement('canvas');   
  85.         var ctx = canvas.getContext('2d');   
  86.         canvas.width = width ;   
  87.         canvas.height = height;   
  88.         ctx.drawImage(img, -x*scale, -y*scale, width*scale, height*scale, 0, 0, width, height);   
  89.         return canvas.toDataURL();   
  90.     }   
  91.   

以上就是本文的全部內容,希望對大家的學習有所幫助。

原文:http://www.cnblogs.com/yifengBlog/p/5265598.html

標簽:辛集 內蒙古 撫順 蚌埠 黃山 楊凌 鶴崗 德州

巨人網絡通訊聲明:本文標題《HTML5 canvas實現移動端上傳頭像拖拽裁剪效果》,本文關鍵詞  HTML5,canvas,實現,移動,端,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5 canvas實現移動端上傳頭像拖拽裁剪效果》相關的同類信息!
  • 本頁收集關于HTML5 canvas實現移動端上傳頭像拖拽裁剪效果的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区在线观看动漫| 2020国产精品久久精品美国| 一片黄亚洲嫩模| 欧美日韩国产小视频在线观看| 国产成人欧美日韩在线电影| 久久精品视频一区二区三区| 中文字幕av资源一区| ...av二区三区久久精品| 水野朝阳av一区二区三区| 国产伦精品一区二区三区在线观看| 91在线观看视频| 欧美丰满美乳xxx高潮www| 久久亚洲欧美国产精品乐播| 亚洲一线二线三线久久久| 国产毛片精品一区| 日韩电影在线观看网站| 国产一区二区三区在线观看免费 | 成人福利视频网站| 91视频在线观看| 亚洲精品一区二区三区影院| 一区二区三区精品| 国产精品一区二区在线观看不卡| 在线这里只有精品| 日本一区二区三区在线不卡| 亚洲国产视频直播| 国产iv一区二区三区| 91精品国产91久久久久久最新毛片 | 色哟哟国产精品| 欧美日韩精品免费观看视频 | 成人激情动漫在线观看| 韩日精品视频一区| 国产成人自拍在线| 国产一区二区日韩精品| 激情综合色播激情啊| 国产一区二区福利| 福利91精品一区二区三区| 亚洲色图一区二区| 爽爽淫人综合网网站| 一本到三区不卡视频| 久久久久久免费网| 另类的小说在线视频另类成人小视频在线 | www.亚洲免费av| 欧美美女一区二区在线观看| 国产精品视频第一区| 久久精品99久久久| 欧美色图免费看| 欧美午夜一区二区三区| 欧美日韩视频在线第一区| 成人免费黄色在线| 99国内精品久久| 欧美日韩成人在线一区| 99精品1区2区| 日韩欧美国产综合一区| 亚洲欧美区自拍先锋| 99精品欧美一区二区三区小说| 欧美日韩一级黄| 福利电影一区二区| 成人美女视频在线观看18| 国内精品伊人久久久久av影院 | 欧美日本在线一区| 91猫先生在线| 亚洲人吸女人奶水| 日韩亚洲欧美综合| 日本麻豆一区二区三区视频| 欧美xxxxx牲另类人与| 粉嫩在线一区二区三区视频| 亚洲精品国产a| 久久久精品国产免费观看同学| 91香蕉视频污| 看电视剧不卡顿的网站| 精品欧美乱码久久久久久1区2区| 欧美va亚洲va国产综合| 国产一区二区三区免费播放| 日本一区二区三区免费乱视频| 欧洲一区二区av| av电影在线观看不卡| 丝袜美腿亚洲一区| 亚洲福利视频一区| 亚洲精品五月天| 国产三级一区二区| 精品99一区二区三区| 欧美精品久久99| 国产·精品毛片| 91精品国产综合久久婷婷香蕉 | 亚洲精品一卡二卡| 激情六月婷婷久久| 91国偷自产一区二区使用方法| 精品国精品自拍自在线| 狠狠色伊人亚洲综合成人| 国产不卡一区视频| 视频一区视频二区中文| 三级精品在线观看| 亚洲影视在线播放| 老司机精品视频导航| 麻豆国产欧美一区二区三区| 一区二区视频在线看| 亚洲另类在线视频| 国产91精品在线观看| 久久综合色之久久综合| 亚洲线精品一区二区三区八戒| 日韩免费电影一区| 久久免费看少妇高潮| 成人国产精品免费观看视频| 激情av综合网| 欧美激情综合五月色丁香| 国产精品99久久久久久宅男| 免费国产亚洲视频| 日韩免费视频一区二区| 精品久久人人做人人爱| 99热在这里有精品免费| 欧美一区二区成人| 色综合久久综合网欧美综合网 | 91毛片在线观看| 国产精品毛片大码女人| 91猫先生在线| 精品乱人伦一区二区三区| 国产精品久久久久影院色老大| 日韩欧美国产系列| 欧亚洲嫩模精品一区三区| 国产精品99久久久久久久女警| 日本成人中文字幕在线视频 | 91色综合久久久久婷婷| 男人的天堂亚洲一区| 欧美精品免费视频| 一区二区三区在线播放| 欧美一区二区三区视频在线| 免费看欧美女人艹b| 午夜欧美在线一二页| 日韩高清不卡一区| 岛国精品在线播放| 日本韩国一区二区三区视频| 黄色小说综合网站| 亚洲成人动漫av| 亚洲福利一二三区| 亚洲欧美视频一区| 国产精品久久久久久久久快鸭 | 91色porny| 欧美在线视频全部完| 91精品国产综合久久香蕉麻豆| 在线成人高清不卡| 日韩欧美视频一区| 中文字幕欧美激情| 日韩av高清在线观看| 狠狠色伊人亚洲综合成人| 狠狠色狠狠色综合| 色综合色狠狠天天综合色| 欧美顶级少妇做爰| 久久久久久久网| 中文成人av在线| 亚洲成人av福利| 国产精品主播直播| 欧美综合色免费| 精品久久免费看| 成人综合激情网| 欧美日韩国产综合久久| 国产三级一区二区| 免费日本视频一区| 欧美裸体bbwbbwbbw| 午夜视频一区二区三区| 在线观看成人免费视频| 国产成人免费视频网站高清观看视频| 99视频在线精品| 日本久久电影网| 国产视频视频一区| 国产在线不卡一区| 欧美一区二区啪啪| 一区二区三区欧美日| 久久99精品久久久久久久久久久久| 在线一区二区视频| 亚洲午夜av在线| 欧美综合天天夜夜久久| 亚洲欧洲日产国码二区| 色呦呦日韩精品| 国产精品精品国产色婷婷| 狠狠色丁香婷婷综合| 久久精品这里都是精品| 久88久久88久久久| 国产天堂亚洲国产碰碰| 972aa.com艺术欧美| 亚洲欧洲日韩av| 精品视频在线视频| 国产成人亚洲综合a∨猫咪| 亚洲男人天堂av网| 91精品久久久久久久久99蜜臂| 成人一区在线观看| 亚洲第一成年网| 久久久www免费人成精品| 欧美肥妇bbw| 色欧美88888久久久久久影院| 老司机免费视频一区二区三区| 一区二区三区在线观看网站| 日韩视频免费观看高清完整版| 色综合夜色一区| av亚洲精华国产精华| 亚洲一区二区在线观看视频| 亚洲男同性视频| 国产精品第五页| 中文字幕电影一区| 国产欧美日韩亚州综合| 欧美三级在线视频|