八戒一区二区三区-午夜A级伦理电影-91好吊色国产欧美日韩在线-欧美国产精品二区三区13p-国产操逼大毛片基地-亚洲第一性爱免费视频网

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

Canvas學(xué)習(xí)系列一:初識canvas

最近你開始在學(xué)習(xí)canvas,打算把學(xué)習(xí)canvas的整個學(xué)習(xí)過程當(dāng)中的一些筆記與總結(jié)記錄下來,如有什么不足之處還請大神們多多指出。

1. canvas介紹

Canvas元素的出現(xiàn),可以說開啟的Web世界繪制動畫,圖形的大門,其功能非常強(qiáng)大
canvas 元素是HTML5中功能最強(qiáng)大的元素,它的能力主要是通過Canvas中的Context(繪圖上下文/繪圖環(huán)境)對象表現(xiàn)出來的。該對象從canvas本身獲取。

var canvas = getElementById('canvas');var context = canvas.getContext('2d');

2. canvas的后備內(nèi)容

Canvas元素之間包含的文本,這種文本稱為 "后備內(nèi)容",只有在瀏覽器不支持canvas元素時才會顯示該文本內(nèi)容

<canvas>當(dāng)前瀏覽器不支持canvas元素,請更換瀏覽器</canvas>

3. Canvas的尺寸

canvas元素時默認(rèn)寬為300px、高為150px。

我們可以通過canvas的width,height屬性去修改canvas的大小,我們也可通過CSS去修改canvas元素的大小。但是二者的修改是有區(qū)別的。

canvas實際上有兩套尺寸:

一個是canvas元素的大小,一個是canvas繪圖表面的大小。

當(dāng)我們用canvas的屬性width,height時實際上我們同時修改了元素的大小與繪圖表面的大小

當(dāng)我們用CSS來設(shè)定時,是會修改canvas元素的大小,不會影響繪圖表面的大小,這時瀏覽器就會對繪圖表面縮放,會出現(xiàn)我們不想得到的效果

width與height屬性修改canvas尺寸大小時的表現(xiàn)

<canvas id="canvas" width="600" height="300">當(dāng)前瀏覽器不支持canvas,請更換瀏覽器</canvas>  <script type="text/javascript">var canvas = document.getElementById('canvas');var cxt = canvas.getContext('2d');  cxt.font = "38px Arial";  cxt.fillStyle = "#427ACC";  cxt.strokeStyle = "#00116A";  cxt.fillText('Hello Canvas', canvas.width/2 - 110, canvas.height/2 + 15);  cxt.strokeText('Hello Canvas', canvas.width/2 - 110, canvas.height/2 + 15);</script>

Canvas學(xué)習(xí)系列一:初識canvas

用CSS去修改canvas元素尺寸大小時的表現(xiàn)

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title>canvas尺寸問題</title>      <style>#canvas {              margin: 0 auto;              padding: 0;              width: 600px;              height: 300px;              border: 1px solid #ccc;          }</style>  </head>  <body>  <img src="" alt="" id="dataImage">  <canvas id="canvas">當(dāng)前瀏覽器不支持canvas,請更換瀏覽器</canvas>  <script type="text/javascript">var canvas = document.getElementById('canvas');var cxt  = canvas.getContext('2d');      cxt.font = "38px Arial";      cxt.fillStyle = "#427ACC";      cxt.strokeStyle = "#00116A";      cxt.fillText('Hello World', canvas.width/2 - 110, canvas.height/2 + 15);      cxt.strokeText('Hello World', canvas.width/2 - 110, canvas.height/2 + 15);</script>  </body>  </html>

Canvas學(xué)習(xí)系列一:初識canvas

所以我們在設(shè)置Canvas元素的大小時,最好不要使用CSS去設(shè)置,我們可以這么去設(shè)置

<canvas id="canvas" width="600" height="300">當(dāng)前瀏覽器不支持canvas,請更換瀏覽器</canvas>

或者

<script type="text/javascript">var canvas = document.getElementById('canvas');  canvas.width = '600'; //canvas的屬性取值為非負(fù)整數(shù),所以不能帶有pxcanvas.height = '300';</script>

4. canvas API

canvas元素并未提供很多API,它只提供了兩個屬性三個方法,而繪圖功能的方法與屬性全都是canvas的繪圖環(huán)境(context)對象提供。

  1. width:設(shè)置/獲取canvas元素繪圖表面的寬度,默認(rèn)值為300。

  2. height:設(shè)置/獲取canvas元素繪圖表面的高度,默認(rèn)值為150。

  3. getContext(): 返回canvas元素的繪圖環(huán)境對象。

  4. toDataURL(): 描述:返回一個data URI:會根據(jù)type指定的參數(shù)形式將canvas中的圖片編碼成一個UTF-16字符串的形式。

  5. toBold(): 描述:創(chuàng)建Blob對象,用以展示canvas上的圖片;這個圖片文件可以被緩存或保存到本地,由User Agent( 用戶代理端 )自行決定。

  

toDataURL():

  type 可選參數(shù)

  圖片格式,默認(rèn)為 image/png

  encoderOptions 可選參數(shù)

  當(dāng)圖片格式為 image/jpeg 或 image/webp的情況下,可以從 0 到 1 的區(qū)間內(nèi)選擇圖片的質(zhì)量。

  如果超出取值范圍,將會使用默認(rèn)值 0.92,默認(rèn)分辨率為96dpi。

   這里值得注意:

  • 如果canvas的高度或者寬度為0時,會返回字符串 "data:,"

  • 如果傳入的類型不是 "image/png", 但是返回的值以 "data: image/png"開頭,說明傳入的類型不支持

  • Chrome支持“image/webp”類型

  盡管在默認(rèn)情況下canvas對象是一副位圖,但是并不是HTML中的img元素,所以我們可以利用toDataURL方法創(chuàng)建一幅表示canvas的圖像;也可以利用此方法創(chuàng)建和操作緩沖canvas。 

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title>canvas尺寸問題</title>      <style>#canvas {              margin: 0 auto;              padding: 0;              display: none;          }</style>  </head>  <body>  <img src="" alt="" id="dataImage">  <canvas id="canvas">當(dāng)前瀏覽器不支持canvas,請更換瀏覽器</canvas>  <script type="text/javascript">var canvas = document.getElementById('canvas');var dataImage = document.getElementById('dataImage');      canvas.width = '600'; //canvas的屬性取值為非負(fù)整數(shù),所以不能帶有pxcanvas.height = '300';var cxt  = canvas.getContext('2d');      cxt.font = "38px Arial";      cxt.fillStyle = "#427ACC";      cxt.strokeStyle = "#00116A";      cxt.fillText('Hello World', canvas.width/2 - 110, canvas.height/2 + 15);      cxt.strokeText('Hello World', canvas.width/2 - 110, canvas.height/2 + 15);var dataUrl = canvas.toDataURL();      dataImage.src = dataUrl;</script>  </body>  </html>

toBold():

目前該方法只有Firefox與IE10瀏覽器支持


參考文章:

MDN Web 技術(shù)文檔

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
男女乱婬免费视频黑人| 久久久久国产精品人妻AⅤ蜜臀| 国产无套码AⅤ在线观看| 国内精品久久久久影院优| 精品亚洲AⅤ无码午夜在线| 快拨出天我是你母亲| 欧美黑人又大又粗XXXXX| 日本大学生处毛茸茸| 天堂久久久久VA久久久久| 亚洲AV色区一区二区三区| 亚洲日韩AV无码| 中文字幕日本乱码仑区在线| 爱情岛亚洲AV永久入口首页| 国产精品VA无码免费| 九月在线 视频 在线观看| 每个世界都被主角睡来睡去可乐饼| 女人脱精光让人桶爽了| 三上悠亚SSNL-618无码播| 亚洲 欧美 卡通 另类 小说| 野花新免费高清完整在线观看 | 人妻少妇精品中文字幕AV| OM老熟妇DHXⅩXXX| 在厨房我撕开岳的丁字裤| BGMBGMBGM老头野外| 丰满少妇高潮惨叫在线观看| 国产强伦姧在线看无码| 久久无码精品一区二区三区| 人妻少妇中文字幕| 亚欧乱色国产精品免费九库| 影音先锋人妻啪啪AV资源网站 | 小雪的L3又嫩又紧又多水图| 亚洲一线产区二线产区区别在 | XOXOXO性ⅩYY欧美人与人| 国产成年无码久久久久毛片| 精品午夜人成一区| 秋霞午夜无码鲁丝片午夜| 午夜美女裸体福利视频| 婬乱丰满熟妇XXXXX| 粗大挺进尤物人妻| 久久99国产精品久久99蜜桃| 秋霞人妻无码中文字幕| 亚洲AV永久无码精品秋霞电影影院| 装睡被陌生人摸出水好爽| 国产精品久久久久7777按摩| 国产无遮挡又黄又爽不要VIP网| 乱人伦中文无码视频| 少妇肉欲小说200篇| 一本大道香蕉在线精品| 国产69精品久久久久APP下载| 精品久久人妻AV中文字幕| 人畜禽CROPROATION| 亚洲成A人片在线不卡一二三区| AV永久免费网站入口| 一本久久A久久免费精品不卡| 成人区精品一区二区不卡| 久久精品国产亚洲A∨麻豆| 色噜噜狠狠色综合无码AV天堂| 亚洲永久网址在线观看| 观看国产色欲色欲色欲WWW| 久久亚洲中文不卡AV一区二区| 四季亚洲精品成人AV无码网站 | 久久亚洲精品成人无码网站夜色 | 国产口爆吞精在线视频| 欧美性爱乱伦视频| 亚洲精品无码久久久久久小说 | 狠狠综合久久AV一区二区| 人人澡人人妻人人爽少妇| 亚洲综合精品成人| 国产精品亚洲片在线观看不卡| 欧美XXXXX高潮喷水麻豆| 亚洲精品55夜色66夜色| 公与憩止痒小说400章| 男生女生一起相差差差| 亚洲国产丝袜精品一区| 国产成人精品三级麻豆| 欧美饥渴熟妇高潮喷水水| 亚洲乱码在线卡一卡二卡新区| 国产成AV人片在线观看天堂无码| 农村人乱弄一区二区| 亚洲碰碰人人AV熟女天堂| 国产精品国产三级国产专区50| 欧美日韩精品人妻二区| 亚洲中文字幕AⅤ无码天堂| 国产女人高潮抽搐喷水嗷嗷叫 | 亚洲成A人V在线蜜臀| 国产69精品久久久久9999A| 欧美性猛交XXXX乱大交视频| 一二三四免费观看在线视频| 好男人 好资源在线 视频| 少妇寂寞难耐被黑人中出| www.五月婷婷.com| 免费女人18毛片A级毛片视频| 亚洲精品无码AⅤ片桃花岛| 国产精品亚洲А∨天堂免下载| 日本大学生处毛茸茸| 88国产精品视频一区二区三区| 久久久久亚洲AV无码网站| 亚洲爆乳AⅤ无码一区二区| 国产精品久久久久秋霞鲁丝| 色婷婷精品亚洲AⅤ| ンピースのエロス在线WWW| 妺妺窝人体色www在线下载人| 亚洲中文字幕久久精品蜜桃 | 亚洲欧美综合人成在线| 国产日产欧美最新| 天天躁夜夜躁狠狠躁2021| 粉嫩AV无码一区二区三区| 日本极品白嫩ASSPICS| JIZZJIZZ日本护士水好多| 内射后入在线观看一区| 自拍偷自拍亚洲精品10P| 浪潮AV激情高潮国产精品没电了| 亚洲熟女成年三级中文字幕| 精品国产乱码久久久久夜深人妻| 女人和拘做受全过程| 中国在线观看免费高清完整版| 久久99久久99精品免视看动漫| 亚洲阿V天堂无码Z2018| 国产真人无码作爱免费视频APP| 无码日韩人妻精品久久| 国产精品久久久久久久久鸭无码| 天堂√最新版中文在线地址| 公车上玩弄白嫩少妇| 熟妇人妻系列Av无码一区=区| 多肉大尺寸小黄说说| 少妇被 到高潮喷出白浆av| 粉嫩av一区二区网站入口| 色窝窝人妻9色聚色窝| 丰满少妇被猛烈进出69影院| 十八禁午夜私人在线观看影院| 丰满人妻一区二区三区无码AV | 荡公乱妇HD在线播放BD| 日韩A级成人免费无码视频| 成年无码AV片在线狼人| 色婷婷亚洲十月十月色天| 国产99久久九九精品无码| 天堂中文А√在线| 国产乱子伦农村叉叉叉| 性丰满ⅩXXOOO性FREE| 黑人与亚洲女人XXXXXXXⅩ| 亚洲精品久久久久久中文字幕| 精品欧美一区二区三区久久久| 亚洲中文字幕无码一久久区| 老妇擦她毛荫荫的玥户| 中国人も日本人も汉字を| 牛牛影视亚洲AV成人片| がーるずらっしゅ在线中文| 日韩一线无码AV毛片免费| 国产成人久久综合第一区| 亚洲AV六月丁香七月婷婷| 久久精品AⅤ无码中文字字幕| 在线V观看免费国岛国片| 欧美人与性动交α欧美精品| 成年美女黄网站18禁免费| 天天看片天天AV免费观看| 国产真人无码作爱免费视频APP| 亚洲人成网7777777国产| 乱码视频午夜在线观看| MACBOOKPRO免费观看| 天干天干天啪啪夜爽爽AV| 国产做出在线 | 传媒麻豆| 亚洲一区二区三区无码久久| 女人脱精光直播APP下载| 大帝A∨无码视频在线播放| 午夜美女裸体福利视频| 久久久老熟女一区二区三区| AV无码电影一区二区三区| 色欲午夜无码久久久久久| 含羞草自慰抽搐喷白浆AⅤ| 在线天堂おっさんとわたしWWW| 人人爽人人片人人片AV| 国产精品乱码久久久久久软件| 亚洲人成人网站色WWW| 欧美另类AV重囗味| 国产精品乱码久久久久软件| 亚洲色大成网站WWW久久| 欧美人妻一区二区| 国产精品JIZZ在线观看无码| 亚洲一区在线日韩在线尤物| 欧美乱妇狂野欧美在线视频| 国产精品国产三级国产AV中文| 艳MU无删减在线观看免费无码| 人妻无码ΑV中文字幕琪琪布 | 欧美成人高清WW| 国产妇女馒头高清泬20P多毛| 亚洲日韩精品无码AV一区二区三| 欧美精产国品一二三类产品| 国产精品一线二线三线精华液| 亚洲中文久久久久久精品| 日本入室强伦姧BD在线观看| 韩国无码无遮挡在线观看| 99热精国产这里只有精品| 无码免费无线观看在线视 | 国精产品一区二区三区四区糖心| 制服丝袜另类专区制服| 四虎成人精品在永久免费| 久久97人妻AⅤ无码一区| 第一次处破女01免费观看| 亚洲欧洲中文日韩乱码AV| 日产无人区一线二线三线小|