真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

html5canvas畫圖,html canvas 繪圖

如何使用HTML5的Canvas圖形元素繪制圖形

1、canvas繪制矩形

隆堯ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

!DOCTYPE html

html

head lang="en"

meta charset="UTF-8"

titlecanvas繪制矩形/title

script type="text/javascript" src="canvas2.js"/script

style type="text/css"

body {

margin: 0;

padding: 0;

}

/style

/head

body onload="draw('canvas')"

canvas id="canvas" width="400" height="300"/canvas

/body

/html

js:

/**

* Created by winson on 2016/9/11.

*/

function draw(id) {

var canvas = document.getElementById(id);//用getElementById獲取到canvas對(duì)象

var context = canvas.getContext('2d');//取得上下文

context.fillStyle = "green";//繪制背景的顏色

context.strokeStyle = "#fff";//繪制邊框的顏色

context.lineWidth = 5; //設(shè)置畫筆寬度

context.fillRect(0, 0, 400, 300);//繪制

context.strokeRect(50, 50, 180, 120);

}

html5 canvas畫圖

情況說明: 圖像繪制,使用setInterval閃,沒圖像;

!doctype html

html

head

meta charset="utf-8"

!-- TemplateBeginEditable name="doctitle" --

title我圖片/title

/head

body

canvas id="Map" width="500" height="500" style="background:gray;"/canvas

script

// 設(shè)置繪圖環(huán)境

var myMap = document.getElementById("Map");

var cxt=myMap.getContext('2d');

// 設(shè)置圖像位置初始位置變量

var x=20;

var y=20;

// 創(chuàng)建繪圖象,并且畫

var img =new Image();

img.src="image/gun.png";

draw();

function draw()

{

cxt.clearRect(0,0,500,500);

x+=10;

y+=50;

img.onload=function()

{

cxt.drawImage(img,x,y,80,80);

}

}

window.setInterval("draw()",100);

/script

/body

/html

[img]

HTML5 Canvas基本繪制線條教程

HTML5 Canvas基本繪制線條教程

怎么畫線條?和現(xiàn)實(shí)中畫畫差不多:

1.移動(dòng)畫筆,使畫筆移動(dòng)至繪畫的開始處

2.確定第一筆的停止點(diǎn)

3.規(guī)劃好之后,選擇畫筆(包括畫筆的粗細(xì)和顏色等)

4.確定繪制

因?yàn)镃anvas是基于狀態(tài)的繪制(很重要,后面會(huì)解釋),所以前面幾步都是在確定狀態(tài),最后一步才會(huì)具體繪制。

1.移動(dòng)畫筆(moveTo())

之前我們獲得了畫筆context,所以以此為例,給出改方法的使用實(shí)例——context.moveTo(100,100)。這句代碼的意思是移動(dòng)畫筆至(100,100)這個(gè)點(diǎn)(單位是px)。記住,這里是以canvas畫布的左上角為笛卡爾坐標(biāo)系的原點(diǎn),且y軸的正方向向下,x軸的正方向向右。

2.筆畫停點(diǎn)(lineTo())

同理,context.lineTo(600,600)。這句的意思是從上一筆的停止點(diǎn)繪制到(600,600)這里。不過要清楚,這里的moveTo()``lineTo()都只是狀態(tài)而已,是規(guī)劃,是我準(zhǔn)備要畫,還沒有開始畫,只是一個(gè)計(jì)劃而已!

3.選擇畫筆

這里我們暫且只設(shè)置一下畫筆的顏色和粗細(xì)。

context.lineWidth = 5,這句話的意思是設(shè)置畫筆(線條)的粗細(xì)為10px。

context.strokeStyle = "#AA394C",這句話的意思是設(shè)置畫筆(線條)的顏色為玫紅色。

因?yàn)镃anvas是基于狀態(tài)的繪制,所以我們?cè)谶x擇畫筆粗細(xì)和顏色的同時(shí),其實(shí)也是選擇了線條的粗細(xì)和顏色。

4.確定繪制

確定繪制只有兩種方法,fill()和stroke(),有點(diǎn)繪畫基礎(chǔ)的應(yīng)該知道,前者是指填充,后者是指描邊。因?yàn)槲覀冎皇抢L制線條,所以只要描邊就可以了。調(diào)用代碼context.stroke()即可。

畫一個(gè)線條

不就一條線段嗎!廢話了這么多!那我們就開始畫吧。

JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧?。?/p>

運(yùn)行結(jié)果:

我還標(biāo)注了一個(gè)頁面解析圖,供大家參考。

這里我將原本

標(biāo)簽中的width和height去掉了,但在JavaScript代碼中設(shè)置了canvas對(duì)象的width和height的屬性。

小結(jié):要設(shè)置畫布的大小,只有這兩種方法

1.在標(biāo)簽中設(shè)置;

2.在JS代碼中設(shè)置canvas的'屬性.

怎么樣,是不是非常的酷。接下來我們要加快腳步了,繪制一個(gè)多線條組成的圖形。是不是感覺自己離藝術(shù)家又進(jìn)了一步呢?別看這只是簡(jiǎn)簡(jiǎn)單單的一條線段,這一畫只是我們的一小步,但卻是人類的一大步!

繪制折線

上面我們已經(jīng)成功繪制了一條線段。那么,如果我要繪制有兩個(gè)筆畫甚至是很多筆畫的折線怎么辦呢?

聰明的小伙伴肯定已經(jīng)想到了,這還不簡(jiǎn)單,復(fù)用lineTo()就可以了。下面我就獻(xiàn)丑隨便畫了一條優(yōu)美的折線~

JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧??!

運(yùn)行結(jié)果:

繪制多條折線

那同理,我們要繪制多條樣式各不相同的折線怎么辦呢?比如我們?cè)谶@里畫三條折線,分別是紅色、藍(lán)色、黑色。聰明的小伙伴肯定想到了,這還不簡(jiǎn)單,只需要平移一下再改下畫筆顏色就行了。代碼格式都一樣的,復(fù)制就可以了。代碼如下。

JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧??!

運(yùn)行結(jié)果:

咦?是不是很奇怪?說好的先紅色,再藍(lán)色,再黑色呢?怎么全是黑色了?其實(shí),這里的原因是我之前一直強(qiáng)調(diào)的一點(diǎn)——Canvas是基于狀態(tài)的繪制。

什么意思呢?其實(shí)這段代碼每次使用stroke()時(shí),它都會(huì)把之前設(shè)置的狀態(tài)再繪制一遍。第一次stroke()時(shí),繪制一條紅色的折線;第二次stroke()時(shí),會(huì)再重新繪制之前的那條紅色的折線,但是這個(gè)時(shí)候的畫筆已經(jīng)被更換成藍(lán)色的了,所以畫出的折線全是藍(lán)色的。換言之,strokeStyle屬性被覆蓋了。同理,第三次繪制的時(shí)候,畫筆顏色是最后的黑色,所以會(huì)重新繪制三條黑色的折線。所以,這里看到的三條折線,其實(shí)繪制了3次,一共繪制了6條折線。

那么,我想繪制三條折線,難道就沒有辦法了嗎?藝術(shù)家之魂到此為止了么?沒救了么?不,還有辦法。

使用beginPath()開始繪制

為了讓繪制方法不重復(fù)繪制,我們可以在每次繪制之前加上beginPath(),代表下次繪制的起始之處為beginPath()之后的代碼。我們?cè)谌卫L制之前分別加上context.beginPath()。

JavaScript Code復(fù)制內(nèi)容到剪貼板你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧?。?/p>

可以看到,這里得到了我們預(yù)想的結(jié)果。因?yàn)槭褂昧薭eginPath(),所以這里的繪制過程如我們所想的那樣,只繪制了三次,而且每次只繪制一條折線。beginPath()是繪制設(shè)置狀態(tài)的起始點(diǎn),它之后代碼設(shè)置的繪制狀態(tài)的作用域結(jié)束于繪制方法stroke()、fill()或者closePath(),至于closePath()之后會(huì)講到。

所以我們每次開始繪制前都務(wù)必要使用beginPath(),為了代碼的完整性,建議大家在每次繪制結(jié)束后使用closePath()。 ;

html5 canvas繪圖有什么用

W3school上面是這么介紹的:

HTML5 canvas 標(biāo)簽用于繪制圖像(通過腳本,通常是 JavaScript)。不過,canvas 元素本身并沒有繪制能力(它僅僅是圖形的容器) - 您必須使用腳本來完成實(shí)際的繪圖任務(wù)。getContext() 方法可返回一個(gè)對(duì)象,該對(duì)象提供了用于在畫布上繪圖的方法和屬性。

更多信息

如何使用HTML5 Canvas動(dòng)態(tài)的繪制拓?fù)鋱D

使用HTML5 Canvas動(dòng)態(tài)的繪制拓?fù)鋱D:

HTML5中引入新的元素canvas,其drawImage 方法允許在 canvas 中插入其他圖像( img 和 canvas 元素) 。drawImage函數(shù)有三種函數(shù)原型:

語法:

drawImage(image, dx, dy)

drawImage(image, dx, dy, dw, dh)

drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)

*第一個(gè)參數(shù)image可以用HTMLImageElement,HTMLCanvasElement或者HTMLVideoElement作為參數(shù)。

*dx、dy是image在canvas中定位的坐標(biāo)值;

*dw、dh是image在canvas中即將繪制區(qū)域(相對(duì)dx和dy坐標(biāo)的偏移量)的寬度和高度值;

*sx、sy是image所要繪制的起始位置;

*sw、sh是image所要繪制區(qū)域(相對(duì)image的sx和sy坐標(biāo)的偏移量)的寬度和高度值。

舉例:

!DOCTYPE html

html

body

p要使用的圖像:/p

img id="tulip" src="/i/eg_tulip.jpg" alt="The Tulip" /

p畫布:/p

canvas id="myCanvas" width="500" height="300" style="border:1px solid #d3d3d3;background:#ffffff;"

Your browser does not support the HTML5 canvas tag.

/canvas

script

var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");

var img=document.getElementById("tulip");

ctx.drawImage(img,10,10);

/script

/body

/html


網(wǎng)站名稱:html5canvas畫圖,html canvas 繪圖
文章網(wǎng)址:http://weahome.cn/article/dsohssh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部