首頁 >web前端 >H5教程 >html5的Canvas元素有什麼作用? 的簡單使用

html5的Canvas元素有什麼作用? 的簡單使用

青灯夜游
青灯夜游原創
2018-11-12 18:04:426418瀏覽

本篇文章帶給大家的內容是介紹html5的Canvas元素有什麼作用? 的簡單使用;讓大家了解使用的繪製矩形方法有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

在HTML5中元素可以提供你一種使用JavaScript來繪製圖形的簡單而強大的方法。它可以用於繪製圖形,合成製作照片或做簡單(而不是那麼簡單)的動畫。 【相關影片教學建議:HTML5教學

是一個簡單的元素,它只有兩個特定屬性「width」和「height」以及所有核心HTML5屬性,如id,name和class等。

<canvas id = "mycanvas" width = "100" height = "100"></canvas>

你可以使用getElementById()方法在DOM中輕鬆找到元素,如下所示:

var canvas = document.getElementById("mycanvas");

渲染上下文

# 最初是空白的,為了顯示某些內容,腳本首先需要存取渲染上下文並在其上繪製。

canvas元素有一個DOM方法,名為getContext()方法,擁有取得渲染上下文及其繪圖功能。此函數採用一個參數,即context2d的類型。

以下是取得所需上下文的程式碼,並檢查瀏覽器是否支援元素

var canvas  = document.getElementById("mycanvas");
if (canvas.getContext) {   
   var ctx = canvas.getContext(&#39;2d&#39;);   
   // 此处是绘图代码
} else {   
   // 此处不支持canvas代码
}

canvas的範例:繪製矩形##

<!DOCTYPE HTML><html>
   <head>
   
      <style>
         #test {
            width: 100px;
            height:100px;
            margin: 0px auto;
         }
      </style>
      
      <script type = "text/javascript">
         function drawShape() {
            
            // 使用DOM获取画布元素
            var canvas = document.getElementById(&#39;mycanvas&#39;);

            // 确保在不支持 canvas 时不执行
            if (canvas.getContext) {
               
               // 使用 getContext 来执行 canvas 绘制
               var ctx = canvas.getContext(&#39;2d&#39;);

               // 画形状
               ctx.fillRect(25,25,100,100);
               ctx.clearRect(45,45,60,60);
               ctx.strokeRect(50,50,50,50);
            } else {
               alert(&#39;你需要使用Safari或Firefox 1.5+的浏览器才能看到此演示。&#39;);
            }
         }
      </script>
   </head>
   
   <body id = "test" onload = "drawShape();">
      <canvas id = "mycanvas"></canvas>
   </body>
	</html>

效果圖:


html5的Canvas元素有什麼作用? <Canvas>的簡單使用

說明:

在畫布上繪製矩形有三種方法:

html5的Canvas元素有什麼作用? <Canvas>的簡單使用

這裡x和y指定矩形左上角的畫布上的位置(相對於原點),寬度和高度是矩形的寬度和高度。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是html5的Canvas元素有什麼作用? 的簡單使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn