您好,登錄后才能下訂單哦!
這篇“怎么用JavaScript Canvas自定義畫板”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么用JavaScript Canvas自定義畫板”文章吧。
官方介紹:Canvas API(畫布)是在HTML5中新增的標簽用于在網(wǎng)頁實時生成圖像,并且可以操作圖像內(nèi)容,基本上它是一個可以用JavaScript操作的位圖(bitmap)。
代碼部分(直接復(fù)制便可使用):
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>JavaScript+Canvas實現(xiàn)自定義畫板</title>
</head>
<body>
<canvas id="canvas" width="600" height="300"></canvas>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
//畫一個黑色矩形
ctx.fillStyle="black";
ctx.fillRect(0,0,600,300);
//按下標記
var onoff = false;
//變量oldx跟oldy代表鼠標移動前的坐標
var oldx = -10;
var oldy = -10;
//設(shè)置顏色
var linecolor = "white";
//設(shè)置線寬
var linw = 4;
//添加鼠標移動事件
canvas.addEventListener("mousemove",draw,true); //第三個參數(shù)主要跟捕獲或者冒泡有關(guān)
//添加鼠標按下事件
canvas.addEventListener("mousedown",down,false);
//添加鼠標彈起事件
canvas.addEventListener("mouseup",up,false);
function down(event){
onoff = true;
oldx = event.pageX-10;
oldy = event.pageY-10;
//console.log(event.pageX+'..............000.............'+event.pageY);
//event.pageX跟event.pageY相對于整個頁面鼠標的位置 包括溢出的部分(就是滾動條)
}
function up(){
onoff = false;
}
function draw(event){
if(onoff == true){
var newx = event.pageX-10;
var newy = event.pageY-10;
ctx.beginPath();//beginPath() 丟棄任何當前定義的路徑并且開始一條新的路徑。它把當前的點設(shè)置為 (0,0)。
ctx.moveTo(oldx,oldy); //移動到點擊時候的坐標,以那個坐標為原點
ctx.lineTo(newx,newy); //繪制新的路徑
ctx.strokeStyle=linecolor;
ctx.lineWidth=linw;
ctx.lineCap="round";
ctx.stroke();//stroke() 方法會實際地繪制出通過 moveTo() 和 lineTo() 方法定義的路徑。默認顏色是黑色。
//將新的鼠標位置賦給下一次開始繪制的起始坐標
oldx = newx;
oldy = newy;
};
};
</script>
</body>
</html>
以上就是關(guān)于“怎么用JavaScript Canvas自定義畫板”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。