成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 基于HTML5 Canvas:字符串,路徑,背景,圖片的詳解

基于HTML5 Canvas:字符串,路徑,背景,圖片的詳解

熱門標(biāo)簽:小朱地圖標(biāo)注 400開頭的電話好申請(qǐng)不 地圖標(biāo)注柱狀圖 百度地圖標(biāo)注為什么總是封號(hào) 臨海地圖標(biāo)注app 怎么做百度地圖標(biāo)注 智能芯電話機(jī)器人 咸陽穩(wěn)定外呼系統(tǒng)軟件 四川移動(dòng)電銷外呼客戶管理系統(tǒng)

創(chuàng)建一個(gè)Canvas畫布的方法如下:

復(fù)制代碼
代碼如下:

<canvas id=”canvas” width=”600” height=”400”></canvas>

可以在標(biāo)簽中添加<canvas>標(biāo)簽不可用時(shí)的替代文本,如下所示:

復(fù)制代碼
代碼如下:

<canvas id=”canvas” width=”600” height=”400”>
<p>Your browserdoes not support the canvas element.</p>
</canvas>

目前新版本的各類瀏覽器已經(jīng)逐步開始支持HTML5,所以在開始使用之前請(qǐng)確保你的瀏覽器是新版本的Chrome、Firefox或者是IE9以上的瀏覽器。

<canvas>標(biāo)簽本身并不具備畫圖的能力,其本身只是為JavaScript提供了一個(gè)繪制圖像的區(qū)域,因此畫圖工作需要再JavaScript中完成。如下所示是畫圖之前需要的準(zhǔn)備工作:

復(fù)制代碼
代碼如下:

var canvas = document.getElementById(“canvas”);
var context2D = canvas.getContext(“2d”);

首先需要獲取到網(wǎng)頁中的畫布對(duì)象,然后用getContext()方法從畫布中得到二維繪制對(duì)象。getContext()方法的參數(shù)”2d”即表示二維(據(jù)說以后會(huì)擴(kuò)展到三維,而目前唯一可用的參數(shù)只有”2d”)。

得到的Context對(duì)象是HTML5的內(nèi)建對(duì)象,其中包含了許多圖形繪制和調(diào)整的方法,在JavaScript中通過操作它即可以在Canvas畫布中繪制所需的圖形。

字符串

使用Context對(duì)象的fillText()方法能夠在畫布中繪制字符串。fillText()方法的原型如下:

void fillText(text, left,top, [maxWidth]);

其四個(gè)參數(shù)的含義分為是:需繪制的字符串,繪制到畫布中時(shí)左上角在畫布中的橫坐標(biāo)及縱坐標(biāo),繪制的字符串的最大長(zhǎng)度。其中最大長(zhǎng)度maxWidth是可選參數(shù)。

另外,可以通過改變Context對(duì)象的font屬性來調(diào)整字符串的字體以及大小,默認(rèn)為”10px sans-serif”。

如下的示例在畫布中(字符串的左上角處于畫布中央)顯示了字符串“Hello Canvas!”

復(fù)制代碼
代碼如下:

<canvas id="canvas" width="600"height="400">
<p>Your browserdoes not support the canvas element!</p>
</canvas>

<script type="text/javascript">
window.onload = function() {
var canvas =document.getElementById("canvas");
var context2D =canvas.getContext("2d");

context2D.font ="35px Times New Roman";
context2D.fillText("HelloCanvas!", canvas.width / 2, canvas.height / 2);
}
</script>

路徑

HTML5 Canvas的基本圖形都是以路徑為基礎(chǔ)的。通常使用Context對(duì)象的moveTo()、lineTo()、rect()、arc()等方法先在畫布中描出圖形的路徑點(diǎn),然后使用fill()或者stroke()方法依照路徑點(diǎn)來填充圖形或者繪制線條。

通常,在開始描繪路徑之前需要調(diào)用Context對(duì)象的beginPath()方法,其作用是清除之前的路徑并提醒Context開始繪制一條新的路徑,否則當(dāng)調(diào)用stroke()方法的時(shí)候會(huì)繪制之前所有的路徑,影響繪制效果,同時(shí)也因?yàn)橹貜?fù)多次操作而影響網(wǎng)頁性能。另外,調(diào)用Context對(duì)象的closePath()方法可以顯式地關(guān)閉當(dāng)前路徑,不過不會(huì)清除路徑。

以下是一些描繪路徑的方法的原型:

void moveTo(x, y);

用于顯式地指定路徑的起點(diǎn)。默認(rèn)狀態(tài)下,第一條路徑的起點(diǎn)是畫布的(0, 0)點(diǎn),之后的起點(diǎn)是上一條路徑的終點(diǎn)。兩個(gè)參數(shù)分為表示起點(diǎn)的x、y坐標(biāo)值。

void lineTo(x, y);

用于描繪一條從起點(diǎn)從指定位置的直線路徑,描繪完成后繪制的起點(diǎn)會(huì)移動(dòng)到該指定位置。參數(shù)表示指定位置的x、y坐標(biāo)值。

void rect(left, top,width, height);

用于描繪一個(gè)已知左上角頂點(diǎn)位置以及寬和高的矩形,描繪完成后Context的繪制起點(diǎn)會(huì)移動(dòng)到該矩形的左上角頂點(diǎn)。參數(shù)表示矩形左上角頂點(diǎn)的x、y坐標(biāo)以及矩形的寬和高。

void arcTo(x1, y1, x2, y2,radius);

用于描繪一個(gè)與兩條線段相切的圓弧,兩條線段分別以當(dāng)前Context繪制起點(diǎn)和(x2, y2)點(diǎn)為起點(diǎn),都以(x1, y1)點(diǎn)為終點(diǎn),圓弧的半徑為radius。描繪完成后繪制起點(diǎn)會(huì)移動(dòng)到以(x2, y2)為起點(diǎn)的線段與圓弧的切點(diǎn)。

void arc(x, y, radius,startAngle, endAngle, anticlockwise);

用于描繪一個(gè)以(x, y)點(diǎn)為圓心,radius為半徑,startAngle為起始弧度,endAngle為終止弧度的圓弧。anticlockwise為布爾型的參數(shù),true表示逆時(shí)針,false表示順時(shí)針。參數(shù)中的兩個(gè)弧度以0表示0°,位置在3點(diǎn)鐘方向;Math.PI值表示180°,位置在9點(diǎn)鐘方向。

void quadraticCurveTo(cpx,cpy, x, y);

用于描繪以當(dāng)前Context繪制起點(diǎn)為起點(diǎn),(cpx,cpy)點(diǎn)為控制點(diǎn),(x, y)點(diǎn)為終點(diǎn)的二次樣條曲線路徑。

void bezierCurveTo(cpx1,cpy1, cpx2, cpy2, x, y);

用于描繪以當(dāng)前Context繪制起點(diǎn)為起點(diǎn),(cpx1,cpy1)點(diǎn)和(cpx2, cpy2)點(diǎn)為兩個(gè)控制點(diǎn),(x, y)點(diǎn)為終點(diǎn)的貝塞爾曲線路徑。


路徑描繪完成后,需要調(diào)用Context對(duì)象的fill()和stroke()方法來填充路徑和繪制路徑線條,或者調(diào)用clip()方法來剪輯Canvas區(qū)域。以上三個(gè)方法的原型如下:

void stroke();

用于按照已有的路徑繪制線條。

void fill();

用于使用當(dāng)前的填充風(fēng)格來填充路徑的區(qū)域。

void clip();

用于按照已有的路線在畫布中設(shè)置剪輯區(qū)域。調(diào)用clip()方法之后,圖形繪制代碼只對(duì)剪輯區(qū)域有效而不再影響區(qū)域外的畫布。如調(diào)用之前沒有描繪路徑(即默認(rèn)狀態(tài)下),則得到的剪輯區(qū)域?yàn)檎麄€(gè)Canvas區(qū)域。


此外,Context對(duì)象還提供了相應(yīng)的屬性來調(diào)整線條及填充風(fēng)格,如下所示:

strokeStyle

線條的顏色,默認(rèn)為”#000000”,其值可以設(shè)置為CSS顏色值、漸變對(duì)象或者模式對(duì)象。

fillStyle

填充的顏色,默認(rèn)為”#000000”,與strokeStyle一樣,值也可以設(shè)置為CSS顏色值、漸變對(duì)象或者模式對(duì)象。

lineWidth

線條的寬度,單位是像素(px),默認(rèn)為1.0。

lineCap

線條的端點(diǎn)樣式,有butt(無)、round(圓頭)、square(方頭)三種類型可供選擇,默認(rèn)為butt。

lineJoin

線條的轉(zhuǎn)折處樣式,有round(圓角)、bevel(平角)、miter(尖角)三種;類型可供選擇,默認(rèn)為miter。

miterLimit

線條尖角折角的銳利程序,默認(rèn)為10。


如下的示例分別調(diào)用了部分上述方法和屬性來繪制圖形:

復(fù)制代碼
代碼如下:

<canvas id="canvas" width="600"height="400">
<p>Your browserdoes not support the canvas element!</p>
</canvas>

<script type="text/javascript">
window.onload = function() {
var canvas =document.getElementById("canvas");
var context2D =canvas.getContext("2d");

//繪制相交的線段
context2D.beginPath();
context2D.moveTo(50,50);
context2D.lineTo(100,100);
context2D.moveTo(200,50);
context2D.lineTo(100,100);
context2D.stroke();
//繪制與這兩條線段相切的紅色圓弧
context2D.beginPath();
context2D.strokeStyle= "#ff0000";
context2D.moveTo(50,50);
context2D.arcTo(100,100, 200, 50, 100);
context2D.stroke();
//繪制一個(gè)藍(lán)色的圓
context2D.beginPath();
context2D.strokeStyle= "#0000ff";
context2D.arc(300,250, 100, 0, Math.PI * 2, false);
context2D.stroke();
//將上面的圓填充為灰色
context2D.fillStyle ="#a3a3a3";
context2D.fill();
//在上面的圓中剪輯一個(gè)圓形方形區(qū)域
context2D.beginPath();
context2D.rect(250,200, 100, 100);
context2D.clip();
//在剪輯區(qū)域中填充一個(gè)大于該區(qū)域尺寸的矩形
context2D.fillStyle ="yellow";
context2D.fillRect(0,0, 400, 400);
}
</script>

畫布背景

在上面的例子中,調(diào)用了fillRect()方法。實(shí)際上,Context對(duì)象擁有3個(gè)方法可以直接在畫布上繪制圖形而不需要路徑,可以將其視為直接在畫布背景中繪制。這3個(gè)方法的原型如下:

void fillRect(left, top,width, height);

用于使用當(dāng)前的fillStyle(默認(rèn)為”#000000”,黑色)樣式填充一個(gè)左上角頂點(diǎn)在(left, top)點(diǎn)、寬為width、高為height的矩形。

void strokeRect(left, top,width, height);

用于使用當(dāng)前的線條風(fēng)格繪制一個(gè)左上角頂點(diǎn)在(left, top)點(diǎn)、寬為width、高為height的矩形邊框。

void clearRect(left, top,width, height);

用于清除左上角頂點(diǎn)在(left,top)點(diǎn)、寬為width、高為height的矩形區(qū)域內(nèi)的所有內(nèi)容。

圖片

Context對(duì)象中擁有drawImage()方法可以將外部圖片繪制到Canvas中。drawImage()方法的3種原型如下:

drawImage(image, dx, dy);

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

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

下圖展示了原型中各參數(shù)的含義:

其中,image參數(shù)可以是HTMLImageElement、HTMLCanvasElement或者HTMLVideoElement。第三個(gè)方法原型中的sx、sy在前兩個(gè)中均為0,sw、sh均為image本身的寬和高;第二和第三個(gè)原型中的dw、dh在第一個(gè)中也均為image本身的寬和高。

如下的示例將一張遠(yuǎn)程圖片繪制到了畫布中:

復(fù)制代碼
代碼如下:

<canvas id="canvas" width="600"height="400">
<p>Your browserdoes not support the canvas element!</p>
</canvas>

<script type="text/javascript">
window.onload = function() {
var canvas =document.getElementById("canvas");
var context2D =canvas.getContext("2d");

var pic = new Image();
pic.src ="http://imgsrc.baidu.com/forum/pic/item/e6b14bc2a4561b1fe4dd3b24.jpg";
context2D.drawImage(pic,0, 0);
}
</script>

以上代碼均通過Google Chrome 14.0及Mozilla Firefox 7.0瀏覽器測(cè)試。

標(biāo)簽:山南 黃石 公主嶺 平頂山 南平 陜西 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于HTML5 Canvas:字符串,路徑,背景,圖片的詳解》,本文關(guān)鍵詞  基于,HTML5,Canvas,字符串,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于HTML5 Canvas:字符串,路徑,背景,圖片的詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于HTML5 Canvas:字符串,路徑,背景,圖片的詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    青草草在线视频| 国产www免费| 亚洲成aⅴ人片久久青草影院| 蜜桃在线一区二区三区| 久久激五月天综合精品| 欧美撒尿777hd撒尿| 调教驯服丰满美艳麻麻在线视频| 高清av在线| 国产精品一区二区羞羞答答| 九九热精品视频国产| 菠萝菠萝蜜在线视频免费观看| a美女胸又www黄视频久久| 日本在线免费观看| 成 人免费视频播放| 国产精品免费久久久久久| 999在线观看精品免费不卡网站| 国产一区二区在线影院| 在线观看精品视频一区二区三区| 人人在线97| 国产亚洲视频在线| 国产无套内射又大又猛又粗又爽| 精品欧美一区二区久久| 69国产精品成人在线播放| 400部精品国偷自产在线观看| 欧美夫妻性生活| 欧美深夜福利视频| 捆绑调教日本一区二区三区| 欧美一级淫片aaaaaa| 免费毛片在线| 日本一区二区精品| av免费高清观看| 波多野结衣视频播放| 三区精品视频观看| 国产黄色小视频网站| 国产成人综合一区| 在线观看视频在线观看| 不许穿内裤随时挨c调教h苏绵| 日韩免费高清av| 国产精品伦理在线| 国产日韩欧美成人| ww久久中文字幕| 成人性生交大片免费看在线播放| 日本三级中文字幕在线观看| 日韩欧美国产午夜精品| 在线日韩av永久免费观看| 另类的小说在线视频另类成人小视频在线| 久久精品高清| 天天摸天天干| 青青草视频网站| 日韩精品视频久久| 久久精品久久99| 国产精品自产拍在线观看| 自拍亚洲图区| 任你弄在线视频免费观看| 国产视频中文字幕| 热99在线视频| www.xxxx精品| 77thz桃花论族在线观看| 成人免费视频视频在线观看免费| 波多野结衣在线| 精品久久久久久久久久久院品网| 国产精品欧美久久久久一区二区| 尤物在线观看一区| 亚洲精品一区二区在线看| 三年中文在线观看免费大全中国| 日本精品一区二区三区在线播放| 成人在线高清免费| 涩爱av色老久久精品偷偷鲁| 国产999在线观看| 爱情岛论坛vip永久入口| 日韩成人av网| 国产精品麻豆一区二区| 中文字幕一区二区三区人妻不卡| 欧美美女一区二区在线观看| 欧美特级xxxxbbbb毛片| 日韩欧美精品在线不卡| 暧暧视频在线免费观看| 国产精品中文字幕在线观看| 国产精品视频看看| 成人久久精品视频| 亚洲成人激情自拍| 自拍偷拍你懂的| 久久综合狠狠综合久久激情| h网站在线免费观看| 日韩av无码一区二区三区不卡| 国产精品久久久久久久久久免费看| 国产一级网站视频在线| 久久精品在线视频| 午夜剧场成人观在线视频免费观看| 久久久久久久久久久国产| 国产成人亚洲综合小说区| 国产精品国产福利国产秒拍| 成人黄色av| 日韩欧美色电影| 在线精品亚洲| 日韩精品视频免费在线观看| 国产成人l区| h片在线观看| 亚洲免费999| 久久精品欧美日韩精品| 无码av免费一区二区三区试看| 亚洲男男av| 精品久久对白| 日韩精品免费一区二区在线观看| 18被视频免费观看视频| 亚洲精品人成网在线播放影院| 日韩欧美在线视频播放| 26uuu另类亚洲欧美日本老年| 日韩精品一区二区三区外面| 无码国产精品96久久久久| 免费无遮挡无码永久在线观看视频| 欧美日韩 国产精品| 91精品免费视频| www.久草.com| 最新不卡av| 久久99这里只有精品| 欧美性猛交xxxx乱大交退制版| 丝袜国产日韩另类美女| 国产精品国产三级国产aⅴ9色| 日韩成人av免费| 中文字幕在线观看视频网站| 色先锋影音av| 欧洲不卡视频| 国产一区二区三区成人欧美日韩在线观看| 日本一本在线观看| 免费精品视频一区二区三区| 亚洲人成自拍网站| 97人妻天天摸天天爽天天| 一区精品视频| 日韩精品免费在线视频| 91精品国产综合久久香蕉| 日韩视频免费看| 99国产在线观看| 欧美福利在线播放网址导航| 日韩国产高清视频在线| ,一级淫片a看免费| 91香蕉视频污在线观看| 男女一区二区三区免费| 成年网站免费视频黄| 丝袜制服影音先锋| 美女一区二区三区视频| 伊人免费视频二| 亚洲一二三区视频| 欧美乱大交xxxxx| 日韩私人影院| 国产一二三四| 51久久夜色精品国产麻豆| 欧日韩精品视频| 日本黄大片在线观看| 色欲无码人妻久久精品| 国产精品久久久久久户外露出| 国产专区欧美专区| 精品福利一区二区三区| 韩国v欧美v日本v亚洲v| 91免费观看视频在线| 亚洲天堂久久新| 欧美成人精品欧美一| 色爱区综合激月婷婷| 成人国产精品| 欧美 日韩 国产在线观看| 国产午夜精品久久久久久久| 亚洲一级黄色| 日韩中文字幕三区| 日产精品一区二区| 午夜精品久久久久久久久久久久久蜜桃| 欧美另类videos粗暴黑人| 色综合97天天综合网| 国产精品一卡二卡三卡| 老牛影视av一区二区在线观看| 日韩精品视频一区二区三区| 欧美日韩在线视频免费观看| 国产精品99久久99久久久二8| 日本不卡1234视频| 亚洲啪av永久无码精品放毛片| 在线免费观看av网| 在线观看麻豆| 极品国产人妖chinesets亚洲人妖| 综合久久久久综合| 国产91沈先生在线播放| 国产精品亚洲一区二区在线观看| 搡老女人一区二区三区视频tv| 天堂网av2014| 成人性生交大片免费看小说| 国产精品一区二区三区免费视频| 中文字幕久久久久久久| 中国老头性行为xxxx| 久久久久久国产| 欧美妇女性影城| 久久精品丝袜高跟鞋| 丰满放荡岳乱妇91ww| 5g影院天天爽成人免费下载| 999久久久国产999久久久| 综合久久一区二区三区| 欧美xnxx| 国产欧美日韩综合一区在线播放| 亚洲欧洲三级| 亚洲精品中文字幕女同| 亚洲av综合色区无码一二三区| 国产精品久久久久久久美男| 久久精品香蕉视频| 91精品综合久久| 99自拍视频在线| 午夜久久久久久电影| 四虎精品免费视频| 国产精品亚洲二区| 97在线观视频免费观看| 性鲍视频在线观看| 吉吉日韩欧美| 欧美激情网址| 91亚洲免费视频| 久久黄色免费视频| 亚洲情综合五月天| 久久久久久亚洲综合| 亚洲精品**不卡在线播he| 亚洲欧洲视频在线观看| 激情小视频网站| 日日摸天天爽天天爽视频| 成人午夜视频福利| 国产免费麻豆视频| 高清电影在线观看免费| 日韩成人久久久| 国产精品日韩在线播放| 亚洲最大的成人av| 欧洲一区av| 国产91精品一区二区麻豆网站| 播播国产欧美激情| 国产精品久久久久婷婷| wwwww亚洲| 欧美极品少妇xxxxⅹ高跟鞋| 国产91久久婷婷一区二区| 青青草激情视频| 天堂中文在线官网| 又黄又爽无遮挡| 极品尤物一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 四虎精品一区二区永久在线观看| 久久人妻无码aⅴ毛片a片app| 亚洲aa在线观看| 无码播放一区二区三区| 成人精品视频在线观看| 亚洲午夜视频在线观看| 欧美一区午夜视频在线观看| 国产欧美一区二区精品性色超碰| a在线观看免费视频| 97激碰免费视频| 男女污污视频在线观看| 欧美精品一区二区三区蜜桃| 亚欧精品视频一区二区三区| 久久亚洲精品无码va白人极品| 国产欧美日韩免费看aⅴ视频| 在线观看精品一区| 日韩av不卡在线观看| 日韩专区视频| 中文一区一区三区免费在线观看| 国产在线免费av| 日韩高清在线一区二区| 97人妻精品一区二区三区软件| 久久出品必属精品| 中文字幕视频在线播放| 欧美成人精品3d动漫h| 欧美激情综合在线| 99精品视频免费观看视频| 黑丝av在线播放| 亚洲乱亚洲高清| 久久都是精品| 亚洲免费视频一区二区| 91激情在线观看| 特黄aaaaaaaaa毛片免费视频| 日韩一级免费看| 久久综合网导航| www.男人的天堂.com| 日韩欧美视频一区二区三区| 黄色网址免费在线观看| www.五月婷婷.com| 精品产品国产在线不卡| 国产综合久久久久影院| 乱h高h女3p含苞待放| 国产一级精品毛片| 高清乱码免费看污| 亚洲精品一区二区三区在线观看| 亚洲大胆人体av| 福利在线观看| 亚洲午夜激情av| 亚洲精品成人影院| 日本午夜精品久久久| 女女百合国产免费网站| 影音先锋在线影院| 老司机成人免费视频| 精品无码在线视频| 国产视频一区在线| ririsao久久精品一区| 人人澡人人澡人人看| 日本性高潮视频| 中文字幕中文字幕在线一区| 亚洲精品欧洲| 亚洲美女色禁图| 亚洲奶水xxxx哺乳期| 91n.com在线观看| 一个人看的www久久| 欧美男人的天堂一二区| 国产欧美亚洲日本| 国产在线看一区| 国产精品中文有码| 久久露脸国产精品| jizzzz日本| 国产超碰人人模人人爽人人添| 日本japanese极品少妇| 一区二区三区中文字幕精品精品| 免费高清av| 欧美在线亚洲| 亚洲经典一区| 99久久精品免费看国产四区| 国产精品99久久99久久久二8| 成人免费在线小视频| 欧美 日韩 亚洲 一区| 日本精品久久久久影院| 欧美成人精品在线| 欧美午夜片在线看| 中午字幕在线观看| 国产精品av免费在线观看| 欧美午夜视频网站| 5566中文字幕一区二区| 久久久无码人妻精品无码| 性欧美激情精品| 亚洲国内精品在线| 久久精品免视看国产成人| 性欧美亚洲xxxx乳在线观看| 精品动漫一区二区三区在线观看|