亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

17站長網(wǎng) 首頁 編程教程 Html5教程 查看內(nèi)容

HTML5 Canvas 漸變

html5 Canvas漸變是可以用作形狀的填充或筆觸的顏色模式,而不是純色。漸變是從一種顏色漸變到另一種顏色的顏色模式。漸變有兩種類型:Linear(線性)和Radial(徑向)

html5 Canvas漸變是可以用作形狀的填充或筆觸的顏色模式,而不是純色。漸變是從一種顏色漸變到另一種顏色的顏色模式。這里有一些示例來說明我的意思:

HTML5 Canvas 漸變

有兩種類型的漸變:

Linear(線性)
Radial(徑向)

線性漸變使用水平,垂直或?qū)蔷的線性圖案更改顏色。
徑向漸變用圓形圖案改變顏色,從里到外改變顏色。
兩種類型的漸變都在本文中介紹。

線性漸變

如前所述,線性漸變使用線性圖案更改顏色。使用2D上下文函數(shù)創(chuàng)建線性漸變 createLinearGradient()。這是一個示例:

var canvas  = document.getElementById("ex1");var context = canvas.getContext("2d");
    
var x1 =   0;
var y1 =   0;
var x2 = 100;
var y2 =   0;
var linearGradient1 = context.createLinearGradient(x1, y1, x2, y2);

該createLinearGradient()函數(shù)采用4個參數(shù):x1,y1,x2,y2。這4個參數(shù)確定漸變圖案的方向和延伸。梯度從第一點x1,y1延伸到第二點x2,y2。
通過僅改變x軸上的參數(shù)值(對于x1和x2)來創(chuàng)建水平漸變,如下所示:

var x1 =   0;
var y1 =   0;    var x2 = 100;
var y2 =   0;
var linearGradient1 = context.createLinearGradient(x1, y2);

通過僅更改y軸上的參數(shù)值(對于y1和y2)來創(chuàng)建垂直漸變,如下所示:

var x1 =   0;    var y1 =   0;
var x2 =   0;    var y2 = 100;
var linearGradient1 = context.createLinearGradient(x1, y2);

通過同時更改x和y軸參數(shù)來創(chuàng)建對角線漸變。這是一個示例:

var x1 =   0;
var y1 =   0;
var x2 = 100;
var y2 = 100;
var linearGradient1 = context.createLinearGradient(x1, y2);

顏色停止

上面的示例未顯示漸變的顏色。為了設(shè)置漸變的顏色,可以addColorStop()在漸變對象上使用該功能。這是一個示例:

var linearGradient1 = context.createLinearGradient(0,100,0);
linearGradient1.addColorStop(0, 'rgb(255, 0, 0)');
linearGradient1.addColorStop(1, 'rgb(  0, 0)');

該addColorStop()函數(shù)有2個參數(shù)。第一個參數(shù)是介于0和1之間的數(shù)字。該數(shù)字表明此色標將放置在漸變區(qū)域中的距離。第二個參數(shù)是顏色本身。請注意,此示例如何使用rbg(red,green,blue)顏色表示法,其中每個紅色/綠色/藍色值可以是0到255之間的數(shù)字(以1個字節(jié)表示)。
上面的示例添加了兩個色標。第一個是紅色,設(shè)置為從漸變的起點開始(第一個參數(shù)值為0)。第二種顏色是黑色,設(shè)置為位于漸變區(qū)域的末尾(第一個參數(shù)為1)。
您可以為漸變添加兩個以上的色標。這是一個具有3個色標的示例:

var linearGradient1 = context.createLinearGradient(0,0);
linearGradient1.addColorStop(0  , 0)');
linearGradient1.addColorStop(0.5, 255);
linearGradient1.addColorStop(1  , 0)');

此示例添加了位于漸變中間的藍色。漸變將因此從紅色平滑變?yōu)樗{色,然后變?yōu)楹谏?/p>

使用漸變作為填充或描邊樣式

您可以將漸變用作填充或筆觸樣式。只需將2D上下文fillStyle或strokeStyle屬性設(shè)置為指向漸變對象即可完成此操作。這是一個示例:

var linearGradient1 = context.createLinearGradient(0, 0)');
 
context.fillStyle   = linearGradient1;
 
context.strokeStyle = linearGradient1;

現(xiàn)在,您可以使用漸變作為填充或描邊顏色進行繪制。這是一個繪制兩個矩形的示例-一個被填充,另一個被描邊(概述):

<canvas id="ex2" width="500" height="125" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
<script>
var canvas  = document.getElementById("ex2");
var context = canvas.getContext("2d");
 
var linearGradient1 = context.createLinearGradient(0,0); //horizontal gradient
linearGradient1.addColorStop(0  ,   0)');
linearGradient1.addColorStop(0.5, 255)');
linearGradient1.addColorStop(1  ,   0)');
 
context.fillStyle = linearGradient1;
context.fillRect(10,10, 100);
 
var linearGradient2 = context.createLinearGradient(125, 225,0); //horizontal gradient
linearGradient2.addColorStop(0  ,   0)');
linearGradient2.addColorStop(0.5, 255)');
linearGradient2.addColorStop(1  ,   0)');
 
context.strokeStyle = linearGradient2;
context.strokeRect(125, 10, 100, 100);
 
</script>

這是在畫布上繪制時的結(jié)果:

HTML5 Canvas 漸變

漸變梯度范圍

重要的是要了解漸變的程度。如果漸變從x = 10擴展到x = 110,則只有x值在10到110之間的圖形才會應(yīng)用漸變顏色。在此區(qū)域之外繪制的圖形仍會受到漸變的影響,但是將使用漸變的第一種或最后一種顏色進行繪制。
例如,假設(shè)一個梯度從x = 150擴展到x =350。該梯度將從藍色漸變?yōu)榫G色。x值小于150繪制的所有圖形都將以藍色繪制。x值大于350繪制的所有圖形都將以綠色繪制。只有x值介于150和350之間的圖形才會具有漸變顏色。
這是一個代碼示例,該示例使用上述漸變繪制了5個矩形,以說明這一點

<canvas id="ex3" width="500" height="250" style="border: 1px solid #cccccc;">
    HTML5 Canvas not supported
</canvas>
 
<script>
var canvas  = document.getElementById("ex3");
var context = canvas.getContext("2d");
 
var linearGradient1 = context.createLinearGradient(150, 350, 'rgb(0,   0, 255)');
linearGradient1.addColorStop(1, 255, 0)');
 
context.fillStyle = linearGradient1;
 
context.fillRect(10,130, 100);
context.fillRect(150, 200, 100);
context.fillRect(360, 130, 100);
 
context.fillRect(100,120, 150, 100);
context.fillRect(280, 100);
</script>

這就是在畫布上繪制時的結(jié)果。請注意,只有x值在150到350之間的圖形才具有漸變顏色,而其余圖形是全藍色(第一個色標)或全綠色(最后一個色標)。

HTML5 Canvas 漸變

本示例僅在漸變中使用2種顏色,但是如果在漸變中使用3種或更多顏色,則效果相同。在漸變區(qū)域之外,僅使用第一個和最后一個停止色。

漸變程度對于理解正確著色形狀很重要。在許多情況下,可能必須為每種形狀專門定義漸變,以適合繪制形狀的區(qū)域。

徑向漸變

徑向漸變類型是從內(nèi)部顏色向外延伸到一種或多種其他顏色的圓形圖案。以下是一些圖形示例:

HTML5 Canvas 漸變

徑向漸變由2個圓定義。每個圓都有一個中心點和一個半徑。這是一個代碼示例:

var x1 = 100;   // x of 1. circle center point
var y1 = 100;   // y of 1. circle center point
var r1 = 30;    // radius of 1. circle
 
var x2 = 100;   // x of 2. circle center point
var y2 = 100;   // y of 2. circle center point
var r2 = 100;   // radius of 2. circle
 
var radialGradient1 = context.createradialGradient(x1, r1, y2, r2);
 
radialGradient1.addColorStop(0, 255)');
radialGradient1.addColorStop(1,   0)');
 
context.fillStyle = radialGradient1;
context.fillRect(10, 200);

如您所見,定義了兩個中心點(x1,y1和x2,y2),并且定義了兩個半徑(r1和r2)。這些作為參數(shù)傳遞給createradialGradient()2D上下文的功能。
應(yīng)該用不同的半徑定義兩個圓,因此它們將導(dǎo)致一個內(nèi)圓和一個外圓(至少大小)。然后,漸變中的顏色將從一個圓圈圓形延伸到另一個圓圈。
色標的工作方式與線性漸變一樣。它們定義了在漸變中使用什么顏色,以及應(yīng)該在漸變范圍內(nèi)放置什么顏色。
添加的色標將在兩個圓圈之間的某個位置匹配。例如,顏色停止中的第一個參數(shù)0表示顏色將從第一個圓圈開始的地方開始。顏色停止中的第一個參數(shù)1表示顏色將從第二個圓圈開始的地方開始。
這是在HTML5畫布上繪制時的代碼示例的結(jié)果:

HTML5 Canvas 漸變

如果兩個圓具有相同的中心點,則漸變將是完全圓形的,并且顏色從內(nèi)圓到外圓漸變。如果兩個圓的中心點不同,則漸變將更像圓錐形,就像從燈投射的光(非正交地指向表面)一樣。這是一個類似錐形的代碼示例:

var x1 = 100;
var y1 = 100;
var r1 = 30;
var x2 = 150;
var y2 = 125;
var r2 = 100;
 
var radialGradient1 = context.createradialGradient(x1, r2);
radialGradient1.addColorStop(0, 200);

這是在畫布上繪制漸變時的樣子:

HTML5 Canvas 漸變

返回頂部
亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
欧美日韩电影一区| 国产精品欧美经典| 国产成人99久久亚洲综合精品| 18成人在线观看| 精品久久久网站| 欧美日韩精品三区| 色综合色狠狠综合色| 亚洲天堂精品在线观看| 91福利在线播放| 亚洲愉拍自拍另类高清精品| 91精品国产91综合久久蜜臀| 国产成人av一区二区三区在线| 亚洲精品免费视频| 国产精品九色蝌蚪自拍| 日韩午夜精品电影| 91视视频在线直接观看在线看网页在线看| 日日噜噜夜夜狠狠视频欧美人| 国产精品无人区| 日韩视频免费观看高清完整版在线观看| 国产成人丝袜美腿| 成人免费毛片app| 成人精品国产一区二区4080| 丁香激情综合国产| av电影在线观看一区| av中文字幕亚洲| 91在线视频18| 久久99热狠狠色一区二区| 日本一不卡视频| 美女国产一区二区| 国产激情偷乱视频一区二区三区| 国产久卡久卡久卡久卡视频精品| 久久精品99久久久| 岛国一区二区在线观看| 色哦色哦哦色天天综合| 欧美综合天天夜夜久久| 91精品免费在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 国产日韩视频一区二区三区| 国产欧美日产一区| 偷拍亚洲欧洲综合| 美腿丝袜亚洲色图| 国产+成+人+亚洲欧洲自线| eeuss国产一区二区三区| 欧美日韩一区久久| 久久久久国产免费免费| 一区二区三区视频在线看| 国产成人自拍在线| 国产成a人无v码亚洲福利| 欧洲在线/亚洲| 国产日韩欧美精品电影三级在线 | 久久久久免费观看| 亚洲成人自拍一区| 成人综合在线观看| 日韩三级免费观看| 亚洲靠逼com| 国产不卡视频在线播放| 欧美日韩成人在线一区| 中文字幕在线观看一区| 久久99精品久久久久久| 欧美午夜寂寞影院| 最新日韩av在线| 国产成人av网站| 久久综合久久综合亚洲| 亚洲成人综合网站| 91久久精品一区二区三区| 精品国产人成亚洲区| 日韩国产高清影视| 欧美视频三区在线播放| **性色生活片久久毛片| 国产精品综合视频| 精品国免费一区二区三区| 午夜激情久久久| 在线观看视频欧美| 国产精品久久一级| 风间由美性色一区二区三区| 久久一区二区三区国产精品| 蜜乳av一区二区| 日韩午夜电影av| 奇米777欧美一区二区| 在线观看一区日韩| 性感美女久久精品| 5566中文字幕一区二区电影| 天天影视涩香欲综合网| 91精品国产高清一区二区三区| 2020国产成人综合网| 91亚洲精品乱码久久久久久蜜桃| 欧美成人午夜电影| 欧美日本免费一区二区三区| 白白色亚洲国产精品| 国产欧美日产一区| 亚洲第一成人在线| 欧美午夜精品理论片a级按摩| 久久久亚洲欧洲日产国码αv| 久久久美女毛片| 成人av免费在线观看| 国产一区二三区| 极品销魂美女一区二区三区| 国产高清不卡一区二区| 国产91综合网| 欧美一级在线视频| 国产成人午夜视频| 一二三区精品视频| 欧美午夜精品理论片a级按摩| 五月天激情综合网| 精品国产乱码久久久久久1区2区| 亚洲成人av免费| 26uuu色噜噜精品一区二区| 波多野结衣亚洲一区| 亚洲影视资源网| 精品成人免费观看| 欧美三片在线视频观看 | 在线精品视频一区二区三四| 久久99日本精品| 一区二区国产视频| 精品盗摄一区二区三区| 欧美三级视频在线播放| 国产成人综合网站| 日本va欧美va精品| 一区二区国产盗摄色噜噜| 久久综合五月天婷婷伊人| 在线观看欧美黄色| 不卡高清视频专区| 国产综合久久久久久鬼色| 亚洲国产日韩在线一区模特| 久久久久久久综合日本| 欧美卡1卡2卡| 欧美综合欧美视频| 91在线精品秘密一区二区| 久草这里只有精品视频| 五月婷婷欧美视频| 国产午夜精品美女毛片视频| 色天天综合色天天久久| 久久国产麻豆精品| 亚洲天堂精品在线观看| 国产日韩欧美一区二区三区乱码| 日韩一区二区电影| 欧美久久久久久久久| 一本久道久久综合中文字幕| 国产激情一区二区三区四区| 国产精品一色哟哟哟| 国产美女精品一区二区三区| 热久久免费视频| 青草国产精品久久久久久| 天堂蜜桃一区二区三区| 日本一区中文字幕| 青青草原综合久久大伊人精品优势| 亚洲一区在线观看免费| 亚洲精品国产品国语在线app| 亚洲免费观看视频| 亚洲不卡一区二区三区| 奇米888四色在线精品| 久久成人免费网站| 国产精选一区二区三区| 成人黄色av电影| 99国内精品久久| 欧美日韩夫妻久久| 日韩精品专区在线| 国产欧美日韩另类视频免费观看| 日韩精品一区二区三区中文不卡| 日韩欧美成人激情| 欧美韩日一区二区三区| 亚洲丝袜制服诱惑| 日韩va欧美va亚洲va久久| 精品亚洲成a人在线观看 | 亚洲电影一级片| 日产国产高清一区二区三区| 久久电影国产免费久久电影| 成人av资源站| 欧美高清精品3d| 亚洲欧洲一区二区在线播放| 五月天婷婷综合| 懂色av一区二区三区蜜臀| 精品视频在线看| 国产日韩v精品一区二区| 亚洲1区2区3区视频| 高清视频一区二区| 制服丝袜成人动漫| 最新国产の精品合集bt伙计| 蜜臀精品久久久久久蜜臀| 99热精品国产| 久久久精品一品道一区| 亚洲第一在线综合网站| 91小宝寻花一区二区三区| 精品处破学生在线二十三| 亚洲电影你懂得| 在线中文字幕一区| 国产精品久久久久婷婷二区次| 免费久久精品视频| 精品视频一区三区九区| 亚洲欧美一区二区三区极速播放| 国产盗摄视频一区二区三区| 日韩精品资源二区在线| 亚洲成人av在线电影| 日本伊人色综合网| 精品视频999| 蜜臀va亚洲va欧美va天堂| 久久综合九色综合97婷婷| av在线不卡免费看| 亚洲h精品动漫在线观看| 欧美不卡激情三级在线观看|