JavaScript canvas實(shí)現(xiàn)九宮格切圖效果
更新時(shí)間:2021年09月01日 11:48:34 作者:前端起步
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)九宮格切圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了canvas實(shí)現(xiàn)九宮格切圖效果的具體代碼,供大家參考,具體內(nèi)容如下
首先頁面展示
直接上代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body { text-align: center; } canvas { border: 1px solid; } .newcanvas { width: 316px; height: 316px; margin: auto; } .newpohoto, .download { width: 300px; height: 40px; line-height: 40px; margin: auto; background-color: cornflowerblue; border-radius: 5px; cursor: pointer; margin: 10px auto; color: white; } </style> </head> <body> <h3>使用canvas實(shí)現(xiàn)九宮格切圖的效果</h3> <div class="mycanvas"> <canvas width="300" height="300" id="mycnavas"></canvas> </div> <div class="newpohoto"> 開始切圖 </div> <div class="newcanvas"> <canvas width="100" height="100" id="img1"></canvas> <canvas width="100" height="100" id="img2"></canvas> <canvas width="100" height="100" id="img3"></canvas> <canvas width="100" height="100" id="img4"></canvas> <canvas width="100" height="100" id="img5"></canvas> <canvas width="100" height="100" id="img6"></canvas> <canvas width="100" height="100" id="img7"></canvas> <canvas width="100" height="100" id="img8"></canvas> <canvas width="100" height="100" id="img9"></canvas> </div> <div class="download"> 下載圖片 </div> <script> var canvas = document.getElementById("mycnavas"); //現(xiàn)將圖片放上去 var cxt = mycnavas.getContext("2d"); var img = new Image(); img.src = "../img/img10.jpg"; window.onload = function() { cxt.drawImage(img, 0, 0, 400, 300); //畫好圖片的位置 } var arr = []; //將切的圖片存到數(shù)組里面 document.getElementsByClassName("newpohoto")[0].onclick = function() { var q = 1; for (var i = 0; i < 3; i++) { for (var j = 0; j < 3; j++) { var data = cxt.getImageData(j * 100, i * 100, 400, 100); //類似于“復(fù)制”功能 var img = document.getElementById("img" + q) var newcxt = img.getContext("2d"); newcxt.putImageData(data, 0, 0); //類似“粘貼”功能 arr.push(console.log(img.toDataURL(q + ".png"))) //toDataURL()方法的兩個(gè)參數(shù):DataURL(type, encoderOptions) type指定轉(zhuǎn)換為base64編碼后圖片的格式,如:image/png、image/jpeg、image/webp等等,默認(rèn)為image/png格式; q++; console.log(arr) } } } //下載切的圖片 var arr = []; document.getElementsByClassName('download')[0].onclick = function() { for (var i = 0; i < 9; i++) { var a = document.createElement('a'); a.download = 'img' + (i + 1); a.href = arr[i]; document.body.appendChild(a); a.click(); } } </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript使用focus()設(shè)置焦點(diǎn)失敗的解決方法
這篇文章主要介紹了JavaScript使用focus()設(shè)置焦點(diǎn)失敗的一個(gè)解決方法 ,需要的朋友可以參考下2014-09-09Bootstrap modal使用及點(diǎn)擊外部不消失的解決方法
這篇文章主要為大家詳細(xì)介紹了Bootstrap modal使用及點(diǎn)擊外部不消失的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Area 區(qū)域?qū)崿F(xiàn)post提交數(shù)據(jù)的js寫法
這篇文章主要介紹了在Area區(qū)域的里 實(shí)現(xiàn)post 提交數(shù)據(jù) 的js寫法,需要的朋友可以參考下2014-04-04JavaScript之DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
由于HTML文檔被瀏覽器解析后就是一棵DOM樹,要改變HTML的結(jié)構(gòu),就需要通過JavaScript來操作DOM。始終記住DOM是一個(gè)樹形結(jié)構(gòu)。2017-07-07