前端之canvas詳解(一) 線條的各種畫法

2022-07-11 04:00:14 字數 2295 閱讀 7634

一、什麼是canvas?

canvas是h5新增的標籤。由 html **配合高度和寬度屬性而定義出的可繪製區域。簡單的來說就是一塊畫布。

新增的標籤,所以它是有相容性問題的。 mozilla 程式從 gecko 1.8 (firefox 1.5) 開始支援 , internet explorer 從 ie9 開始 。chrome 和 opera 9+ 也支援

二、canvas的使用。

在html檔案的標籤中書寫canvas標籤。並限定畫布的大小(不設寬高的話,預設寬300px,高150px),由於有一部分瀏覽器並不支援canvas標籤,所以在標籤裡加入的替換的內容,當瀏覽器不顯示canvas標籤時,會有替換的內容做提示用。

你的瀏覽器不支援 canvas,請公升級你的瀏覽器。span>

canvas>

body>

接著我們需要用js對canvas進行繪畫。需要先獲取canvas元素,如下:

var canvas = document.getelementbyid('canvas');   //  獲取canvas標籤

var ctx = canvas.getcontext('2d'); // 建立內容物件

if (!canvas.getcontext) return; // 畫圖判斷,如果不能畫,自動結束

getcontext("2d") 物件是內建的 html5 物件,擁有多種繪製路徑、矩形、圓形、字元以及新增影象的方法。我們先在js檔案裡畫一條直線:

function draw()

draw()

得到如圖所示的一條斜線:

解釋一下上面的位置座標,現在我們設定的畫布寬和高都是300,(0,0)就相當於畫布的左上角,(300,300)就相當於畫布的右下角。

畫一條寬度為10的線:

設定線的端點的樣子和線條顏色:

畫虛線:用 setlinedash 方法和 linedashoffset 屬性來制定虛線樣式。 setlinedash 方法接受乙個陣列,來指定線段與間隙的交替;linedashoffset屬性設定起始偏移量。

畫連續兩條直線:

畫乙個三角形:

你會發現這次畫直線多了ctx.beginpath();ctx.closepath();這樣的話就可以自動首尾相連,成為乙個閉合的圖形,當然,你直接畫一條線把首尾連線起來也可以。

可以給三角形填充顏色:

填充我們自定義顏色

本文首發今日頭條,有興趣可在頭條搜尋使用者,洛海之音

HTML5的學習之canvas畫布 一

前面幾篇部落格我們一直在講如何使用canvas繪製一下,但是沒有講過canvas如何使用,都有哪些屬性,方法等。今天我們就來講一講canvas的有關屬性和方法。html my canvas canvas js 畫布預設 寬300px 高150px 獲取元素 var ocanvas document....

linux 之執行緒基礎 一 執行緒的基本概念

現代作業系統os引入了多工的概念,傳統上多工的實現是多程序完成的。支援多工就涉及到程序的切換,也就意味著程序上下文的切換。如果我們程序有很多,多程序的頻繁切換,每次上下文切換都要做這些事,還是很耗資源的,我們想用一種機制能減少程序切換帶來的資源消耗,所以很多作業系統中都引入了輕量級的程序的概念。也稱...

從三流小公司到一線大廠,聊聊程式設計師的成長之道

閱讀本文大概需要 2.8 分鐘。很多人都想轉行網際網路,不管是出於興趣 行業前景還是薪資的考慮,想要轉行網際網路的人們必須要面對乙個問題,那就是如何自學程式設計,更確切的說,是如何0基礎學程式設計。其實我基本上也是0基礎自學程式設計的,大學的時候學的電信專業,對於程式語言只懂得一點皮毛,那些內容,相...