posts - 101,  comments - 29,  trackbacks - 0

          Android提供的Shader類主要是渲染圖像以及一些幾何圖形。

          Shader有幾個直接子類:

          BitmapShader    : 主要用來渲染圖像

          LinearGradient  :用來進行線性渲染

          RadialGradient  : 用來進行環形渲染

          SweepGradient   : 掃描漸變---圍繞一個中心點掃描漸變就像電影里那種雷達掃描,用來梯度渲染。

          ComposeShader   : 組合渲染,可以和其他幾個子類組合起來使用。

           

          1   BitmapShader

          渲染器著色一個位圖作為一個紋理。位圖可以重復或設置模式。

          public   BitmapShader(Bitmap bitmap,Shader.TileMode tileX,Shader.TileMode tileY)

          調用這個方法來產生一個畫有一個位圖的渲染器(Shader)。

          bitmap   在渲染器內使用的位圖

          tileX      The tiling mode for x to draw the bitmap in.   在位圖上X方向花磚模式

          tileY     The tiling mode for y to draw the bitmap in.    在位圖上Y方向花磚模式

           

          TileMode:(一共有三種)

          CLAMP  :如果渲染器超出原始邊界范圍,會復制范圍內邊緣染色。

          REPEAT :橫向和縱向的重復渲染器圖片,平鋪。

          MIRROR :橫向和縱向的重復渲染器圖片,這個和REPEAT重復方式不一樣,他是以鏡像方式平鋪。

          2 LinearGradient 

           

           

           

           X0:   漸變起初點坐標x位置

          y0:    漸變起初點坐標y位置

          x1:    漸變終點坐標x位置

          y1:    漸變終點坐標y位置

          colors:  漸變顏色數組

          positions:這個也是一個數組用來指定顏色數組的相對位置 如果為null 就沿坡度線均勻分布

          tile:平鋪方式

           

           

          X0:       漸變起初點坐標x位置

          y0:        漸變起初點坐標y位置

          x1:        漸變終點坐標x位置

          y1:        漸變終點坐標y位置

          color0:  漸變開始顏色

          color1:  漸變結束顏色

          tile:    平鋪方式

           

           

          LinearGradient是線性漸變,用法如下:

          Gradient是基于Shader類,所以我們通過Paint的setShader方法來設置這個漸變,代碼如下:

          Paint p=new Paint();
          LinearGradient lg=new LinearGradien(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR); 

          Gradient是基于Shader類,所以我們通過Paint的setShader方法來設置這個漸變,代碼如下:

          p.setShader(lg);
          canvas.drawCicle(0,0,200,p); //參數3為畫圓的半徑,類型為float型。

           

          posted on 2012-02-17 13:15 mixer-a 閱讀(1192) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 北辰区| 岫岩| 保德县| 蚌埠市| 大新县| 顺平县| 桃园市| 静安区| 民县| 周口市| 新疆| 读书| 永丰县| 南汇区| 莱西市| 台州市| 炉霍县| 济阳县| 阜阳市| 友谊县| 青浦区| 库车县| 宁南县| 长乐市| 乾安县| 桃园县| 道孚县| 宜兴市| 梁平县| 宁夏| 许昌市| 米脂县| 绩溪县| 隆安县| 商南县| 高淳县| 靖安县| 眉山市| 达尔| 汽车| 凤城市|