亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

HTML5的漸變色 漸變的兩種類型 createLinearGra

系統 1751 0

今天又再看了html5的顏色漸變API,發現沒有第一次看那么復雜。

不過我對這個顏色漸變存在著一個疑惑就是兩種色帶之間,那段是屬于兩種顏色混合的,有點模糊。

比如從紅色變成黃色,在紅與黃之間的那個地方,不會是純色的紅和黃,我一開始不是很明白,現在我是理解的:漸變顏色嘛,字面上的意思,就是漸變,在這兩種顏色之間,由一種顏色漸變過渡到另一種顏色。

一、創建漸變顏色對象的步驟蠻簡單的,線性漸變比徑向漸變少了兩個參數而已。具體步驟是這樣的:

1、獲取到你的canvas畫布后,我們需要創建顏色漸變對象 ? var gradient

2、設置要漸變的顏色帶 ? addColorStop(顏色帶的所在點,"顏色")

3、將顏色漸變對象賦值給填充類型 fillStyle

4、進行繪制

ok了!

      
        <
      
      
        body
      
      
        >
      
      
        <!--
      
      
        

            作者:1107989194@qq.com

            時間:2014-04-12

            描述:漸變色   linear   radial

        
      
      
        -->
      
      
        <
      
      
        canvas 
      
      
        id
      
      
        ="myCanvas"
      
      
         width
      
      
        ="300"
      
      
         height
      
      
        ="150"
      
      
         style
      
      
        ="border: 1px solid black"
      
      
        ></
      
      
        canvas
      
      
        >
      
      
        <
      
      
        script
      
      
        >
      
      
        var
      
      
         myCanvas 
      
      
        =
      
      
         document.getElementById(
      
      
        "
      
      
        myCanvas
      
      
        "
      
      
        );

            
      
      
        var
      
      
         context 
      
      
        =
      
      
         myCanvas.getContext(
      
      
        "
      
      
        2d
      
      
        "
      
      
        );

            
      
      
        var
      
      
         gradient 
      
      
        =
      
      
         context.createLinearGradient(
      
      
        0
      
      
        ,
      
      
        0
      
      
        ,myCanvas.width,
      
      
        0
      
      
        );     
      
      
        //
      
      
        創建顏色漸變對象
      
      
                    

            

            gradient.addColorStop(
      
      
        0
      
      
        ,
      
      
        '
      
      
        blue
      
      
        '
      
      
        );                                       
      
      
        //
      
      
        設置顏色停止點(過渡顏色所在位置)
      
      
                    gradient.addColorStop(
      
      
        0.25
      
      
        ,
      
      
        '
      
      
        white
      
      
        '
      
      
        );

            gradient.addColorStop(
      
      
        0.5
      
      
        ,
      
      
        '
      
      
        purple
      
      
        '
      
      
        );

            gradient.addColorStop(
      
      
        0.75
      
      
        ,
      
      
        '
      
      
        red
      
      
        '
      
      
        );

            gradient.addColorStop(
      
      
        1.0
      
      
        ,
      
      
        '
      
      
        yellow
      
      
        '
      
      
        );

            

            context.fillStyle 
      
      
        =
      
      
         gradient;                       
      
      
        //
      
      
        把漸變對象賦值給填充類型
      
      
                    context.fillRect(
      
      
        0
      
      
        ,
      
      
        0
      
      
        ,myCanvas.width,myCanvas.height); 
      
      
        //
      
      
        繪制圖形
      
      
        </
      
      
        script
      
      
        >
      
      
        <!--
      
      
        

            作者:1107989194@qq.com

            時間:2014-04-12

            描述:徑向漸變

        
      
      
        -->
      
      
        <
      
      
        canvas 
      
      
        id
      
      
        ="myCanvas2"
      
      
         width
      
      
        ="300"
      
      
         height
      
      
        ="150"
      
      
         style
      
      
        ="border: 1px solid black"
      
      
        >
      
      換個瀏覽器唄
      
        </
      
      
        canvas
      
      
        >
      
      
        <
      
      
        script
      
      
        >
      
      
        var
      
      
         myCanvas2 
      
      
        =
      
      
         document.getElementById(
      
      
        "
      
      
        myCanvas2
      
      
        "
      
      
        );

            
      
      
        var
      
      
         context2 
      
      
        =
      
      
         myCanvas2.getContext(
      
      
        "
      
      
        2d
      
      
        "
      
      
        );

            
      
      
        //
      
      
        var gradient2 = context.createRadialGradient(0,0,myCanvas2.width,myCanvas2.width,myCanvas2.height,myCanvas2.height);     //創建顏色徑向漸變對象
      
      
        var
      
      
         gradient2 
      
      
        =
      
      
         context2.createRadialGradient(myCanvas2.width
      
      
        /
      
      
        2,myCanvas2.height
      
      
        /
      
      
        2
      
      
        ,
      
      
        0
      
      
        ,myCanvas2.width
      
      
        /
      
      
        2,myCanvas2.height
      
      
        /
      
      
        2
      
      
        ,
      
      
        100
      
      
        );     
      
      
        //
      
      
        創建顏色徑向漸變對象(一個圓從中間向四周徑向漸變)
      
      
                    

            gradient2.addColorStop(
      
      
        0
      
      
        ,
      
      
        '
      
      
        blue
      
      
        '
      
      
        );                    
      
      
        //
      
      
        設置顏色停止點(過渡顏色所在位置)
      
      
                    gradient2.addColorStop(
      
      
        0.25
      
      
        ,
      
      
        '
      
      
        white
      
      
        '
      
      
        );

            gradient2.addColorStop(
      
      
        0.5
      
      
        ,
      
      
        '
      
      
        purple
      
      
        '
      
      
        );

            gradient2.addColorStop(
      
      
        0.75
      
      
        ,
      
      
        '
      
      
        red
      
      
        '
      
      
        );

            gradient2.addColorStop(
      
      
        1.0
      
      
        ,
      
      
        '
      
      
        yellow
      
      
        '
      
      
        );

            

            context2.fillStyle 
      
      
        =
      
      
         gradient2;

            context2.fillRect(
      
      
        0
      
      
        ,
      
      
        0
      
      
        ,myCanvas2.width,myCanvas2.height);

        
      
      
        </
      
      
        script
      
      
        >
      
      
        </
      
      
        body
      
      
        >
      
    

兩種顏色漸變函數的參數說明:

    context.createLinearGradient(
    
      x0
    
    ,
    
      y0
    
    ,
    
      x1
    
    ,
    
      y1
    
    );
  
參數 描述
x0 漸變開始點的 x 坐標
y0 漸變開始點的 y 坐標
x1 漸變結束點的 x 坐標
y1 漸變結束點的 y 坐標
?

?

      context.createRadialGradient(
      
        x0
      
      ,
      
        y0
      
      ,
      
        r0
      
      ,
      
        x1
      
      ,
      
        y1
      
      ,
      
        r1
      
      );
    
參數 描述
x0 漸變的開始圓的 x 坐標
y0 漸變的開始圓的 y 坐標
r0 開始圓的半徑
x1 漸變的結束圓的 x 坐標
y1 漸變的結束圓的 y 坐標
r1 結束圓的半徑

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 createLinearGradient() 方法、createRadialGrradient()方法。

注釋:Internet Explorer 8 或更早的瀏覽器不支持 <canvas> 元素。

?

關于徑向漸變,我自己覺得最簡單的理解就是:

例如我們要徑向漸變一個圓,從圓心往四周顏色漸變,那么圓心所在的那個圓的坐標就是(x1,y1) r1=0,漸變的大圓的坐標(x2,y2) r2=r(r為圓的半徑)。

這是上面徑向漸變的代碼的效果截圖:

從圓心(blue)——>四周(yellow)

HTML5的漸變色 漸變的兩種類型 createLinearGradient 和createRadialGradient

HTML5的漸變色 漸變的兩種類型 createLinearGradient 和createRadialGradient


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲va欧美va国产va天堂影 | 久久综合九色综合亚洲 | 99视频久久 | 精品一区二区三区中文字幕 | 毛片毛片毛片毛片 | 成人午夜在线观看国产 | 欧美成在线视频 | www.涩| 久久这里只有精品66 | 爱做久久久久久久久久 | 性生活免费网站 | 亚洲综合中文 | 亚洲精品线在线观看 | 8090碰成年女人免费碰碰尤物 | 亚洲天堂久久精品成人 | 国产成人a一区二区 | 奇米网久久 | 国产精品久久国产三级国不卡顿 | 离线枕边人在线观看 | 精品日韩| 激情综合五月 | 久久精品在线播放 | 久久精品亚洲综合 | 男人午夜免费视频 | 国产精品入口麻豆高清在线 | xxxx久久| 久久水蜜桃 | 免费观看一级特黄三大片视频 | 四虎永久在线精品 | 欧美激情久久欧美激情 | 五月天精品 | 奇米影视亚洲狠狠色 | 一级毛片在线视频 | 欧美三级午夜理伦三级小说 | 国产成人啪精品视频免费网 | 日韩成人高清 | 亚洲精品国产第一区二区尤物 | 毛色毛片免费看 | 四虎永久影院永久影库 | 狠狠色丁香婷婷综合视频 | 特级毛片|