HTML5是一種用于構(gòu)建網(wǎng)頁(yè)和應(yīng)用程序的標(biāo)準(zhǔn)語(yǔ)言,而HTML5的canvas元素則是用于繪制圖形、動(dòng)畫(huà)和其他視覺(jué)元素的一種強(qiáng)大工具。在這篇文章中,我們將學(xué)習(xí)如何使用HTML5畫(huà)板功能,實(shí)現(xiàn)一款簡(jiǎn)單的畫(huà)板應(yīng)用程序。
<!DOCTYPE html> <html> <head> <title>HTML5 Canvas簡(jiǎn)易畫(huà)板</title> <style> canvas { border: 1px solid black; } </style> </head> <body> <canvas id="myCanvas" width="800" height="600"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var painting = false; var lastX = 0; var lastY = 0; canvas.addEventListener("mousedown", function(e) { painting = true; lastX = e.clientX - canvas.offsetLeft; lastY = e.clientY - canvas.offsetTop; }); canvas.addEventListener("mousemove", function(e) { if (painting) { var currentX = e.clientX - canvas.offsetLeft; var currentY = e.clientY - canvas.offsetTop; ctx.beginPath(); ctx.moveTo(lastX, lastY); ctx.lineTo(currentX, currentY); ctx.stroke(); lastX = currentX; lastY = currentY; } }); canvas.addEventListener("mouseup", function() { painting = false; }); </script> </body> </html>
以上代碼使用了HTML5的canvas元素,利用JavaScript代碼實(shí)現(xiàn)了畫(huà)筆功能。當(dāng)用戶(hù)在畫(huà)布上按下鼠標(biāo)時(shí),我們記錄下起點(diǎn)坐標(biāo);當(dāng)用戶(hù)移動(dòng)鼠標(biāo)時(shí),我們根據(jù)當(dāng)前坐標(biāo)和上一個(gè)坐標(biāo)點(diǎn)之間劃線,并不斷更新上一個(gè)坐標(biāo)點(diǎn)的值,以此實(shí)現(xiàn)畫(huà)筆功能;當(dāng)用戶(hù)松開(kāi)鼠標(biāo)時(shí),我們停止畫(huà)筆功能。
在樣式表中,我們?yōu)閏anvas元素添加了一個(gè)黑色邊框。可以根據(jù)需要自行添加、修改CSS樣式表,美化畫(huà)板。