国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > HTML5 > 正文

canvas學(xué)習(xí)筆記之2d畫布基礎(chǔ)的實(shí)現(xiàn)

2024-09-05 07:19:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一. Canvas是啥

< canvas > 是一個(gè)可以使用腳本(通常是js)來(lái)繪圖的HTML元素

< canvas > 最早由Apple引入WebKit,用于Mac OS X 的 Dashboard和 Safari

如今,所有主流的瀏覽器都支持它(IE9+,更低版本需引入Explorer Canvas來(lái)支持)

1. 開(kāi)始畫圖(渲染上下文)

< canvas > 元素創(chuàng)造了一個(gè)固定大小的畫布,其上的渲染上下文CanvasRenderContext2D,可以用來(lái)繪制和處理要展示的內(nèi)容。

若要在canvas上繪圖,首先得獲取CanvasRenderContext2D2d渲染上下文。(此處指2d的,不談webgl)

const canvas = document.getElementById('mycanvas');const ctx = canvas.getContext('2d');ctx.fillStyle = 'pink';ctx.fillRect(10, 10, 300, 300);

示例

2. CanvasRenderContext2D的屬性:

通過(guò)設(shè)置上下文的屬性,可以指定繪圖的樣式。

所有屬性如下:

屬性 簡(jiǎn)介
canvas canvas元素
fillStyle 用來(lái)填充路徑的當(dāng)前的顏色、模式或漸變
font 字體樣式
globalAlpha 指定在畫布上繪制的內(nèi)容的不透明度
globalCompositeOperation 指定顏色如何與畫布上已有的顏色組合(合成)
lineCap 指定線條的末端如何繪制
lineDashOffset 設(shè)置虛線偏移量
lineJoin 指定兩條線條如何連接
lineWidth 指定畫筆(繪制線條)操作的線條寬度
miterLimit 當(dāng) lineJoin 屬性為 "miter" 的時(shí)候,這個(gè)屬性指定了斜連接長(zhǎng)度和線條寬度的最大比率
shadowBlur 模糊效果程度
shadowColor 陰影顏色
shadowOffsetX 陰影水平偏移距離
shadowOffsetY 陰影垂直偏移距離
strokeStyle 用于畫筆(繪制)路徑的顏色、模式和漸變
textAlign 文本的對(duì)齊方式
textBaseline 文字垂直方向的對(duì)齊方式

3. Canvas寬高

Canvas的寬高需要用屬性值width,height來(lái)指定

若未指定,則Canvas 的默認(rèn)大小為300×150

通過(guò)樣式指定的寬高,只是canvas元素的顯示大小,并不是繪圖環(huán)境的大小

canvas {width: 1000px;height: 600px;}<canvas id="mycanvas" width="1000" height="600"></canvas><canvas id="mycanvas1" width="500" height="300"></canvas><canvas id="mycanvas2"></canvas>...ctx.fillStyle = "red";ctx.fillRect(10, 10, 100, 100);

寬高示例

為什么樣式設(shè)置了同樣大小,顯示卻截然不同的情況呢?

  • canvas本身有兩套大?。阂粋€(gè)是元素本身大小,一個(gè)是繪圖表面(drawing surface)的大小
  • 如果通過(guò)width,height屬性來(lái)設(shè)置,是同時(shí)修改了元素本身和繪圖表面大小,
  • 如果canvas元素的大小不符合繪圖表面大小時(shí),則會(huì)對(duì)繪圖表面進(jìn)行縮放,使之符合元素本身大小,
  • 無(wú)特殊需求,建議直接使用canvas的width和height就好

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 邛崃市| 招远市| 祁连县| 济阳县| 龙门县| 青龙| 大邑县| 龙海市| 于田县| 阜康市| 磐石市| 光山县| 鹤峰县| 同仁县| 罗平县| 达拉特旗| 万盛区| 福州市| 克山县| 万州区| 峨眉山市| 镇康县| 塘沽区| 子长县| 石林| 荣昌县| 开封市| 彭水| 静海县| 巴彦淖尔市| 松潘县| 加查县| 天峻县| 南雄市| 博野县| 澎湖县| 上林县| 陆良县| 云安县| 台东市| 崇文区|