欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學堂HTML5在線教程之canvas仿寫貝塞爾曲線的示例代碼

2018-06-07 13:52:12 1364瀏覽

本篇文章扣丁學堂HTML5培訓小編主要是和大家分享一下canvas仿寫貝塞爾曲線的示例,文章中會有代碼列出供大家詳細了解。對HTML5感興趣想要學好HTML5開發(fā)技術(shù)的小伙伴們隨著小編一起來看一下吧。



扣丁學堂HTML5在線教程之canvas仿寫貝塞爾曲線的示例代碼



代碼如下:



html:


<canvas id="mycanvas" width="500" height="500">您的瀏覽器不支持canvas</canvas>


css:


canvas{ border: 1px solid black;}


js:


var canvas = document.getElementById("mycanvas");
        var context = canvas.getContext("2d");
        var x1 = 100;
        var y1 = 100;
        var x2 = 400;
        var y2 = 400;
        draw();
        function draw(){
            //畫半透明的線
            context.beginPath();
            context.moveTo(500,0);
            context.lineTo(0,500);
            context.strokeStyle = "rgba(0,0,0,0.3)";
            context.lineWidth = 10;
            context.stroke();
            //畫連接線
            context.beginPath();
            context.moveTo(0,500);
            context.lineTo(x1,y1);
            context.lineWidth = 2;
            context.strokeStyle = "black";
            context.stroke();
            context.beginPath();
            context.moveTo(500,0);
            context.lineTo(x2,y2);
            context.lineWidth = 2;
            context.strokeStyle = "black";
            context.stroke();
            //畫紅球
            context.beginPath();
            context.arc(x1,y1,10,0,Math.PI*2);
            context.fillStyle = "orange";
            context.fill();
            //畫藍球
            context.beginPath();
            context.arc(x2,y2,10,0,Math.PI*2);
            context.fillStyle = "blue";
            context.fill();
            //畫貝塞爾曲線
            context.beginPath();
            context.moveTo(0,500);
            context.bezierCurveTo(x1,y1,x2,y2,500,0);
            context.lineWidth = 5;
            context.stroke();
        }
        //拖動小球做動畫
        //判斷是否拖動小球
        //如果在小球上就做動畫
        canvas.onmousedown = function(e){
            var ev = e || window.event;
            var x = ev.offsetX;
            var y = ev.offsetY;
            //判斷是否在紅球上
            var dis = Math.pow((x-x1),2) + Math.pow((y-y1),2);
            if(dis<100){
                console.log("鼠標在紅球上");
                canvas.onmousemove = function(e){
                    var ev = e || window.event;
                    var xx = ev.offsetX;
                    var yy = ev.offsetY;
                    //清除畫布
                    context.clearRect(0,0,canvas.width,canvas.height);
                    x1 = xx;
                    y1 = yy;
                    //重繪制
                    draw();
                }
            }
            //判斷鼠標是否在藍球上
            var dis = Math.pow((x-x2),2) + Math.pow((y-y2),2);
            if(dis<100){
                canvas.onmousemove = function(e){
                    var ev = e || window.event;
                    var xx1 = ev.offsetX;
                    var yy1 = ev.offsetY;
                    //清除畫布
                    context.clearRect(0,0,canvas.width,canvas.height);
                    x2 = xx1;
                    y2 = yy1;
                    //重繪制
                    draw();
                }
            }
        }
        document.onmouseup =function(){
            canvas.onmousemove = " ";
        }




以上就是扣丁學堂HTML5在線學習小編給大家分享的canvas仿寫貝塞爾曲線的示例代碼,希望對小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學堂官網(wǎng)咨詢??鄱W堂是專業(yè)的HTML5培訓機構(gòu),不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的HTML5在線教程供學員觀看學習,喜歡HTML5的小伙伴快快行動吧??鄱W堂H5技術(shù)交流群:559883758。  


關(guān)注微信公眾號獲取更多學習資料

【關(guān)注微信公眾號獲取更多學習資料】



查看更多關(guān)于“HTML5開發(fā)技術(shù)資訊”的相關(guān)文章>>



標簽: 扣丁學堂HTML5在線教程 canvas仿寫貝塞爾曲線的示例代碼 HTML5培訓 HTML5視頻教程 HTML5在線課程 HTML5在線學習 HTML5在線視頻 HTML5從入門到精通 html5基礎(chǔ)教程

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部