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 閱讀(1194) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 西乌珠穆沁旗| 东光县| 昌黎县| 浦北县| 太仓市| 府谷县| 万载县| 富宁县| 融水| 嵊州市| 淮阳县| 遵义县| 昌都县| 叶城县| 晋江市| 松溪县| 乐安县| 大连市| 海兴县| 乃东县| 龙里县| 九江市| 榆社县| 宜兰市| 陆丰市| 孟州市| 综艺| 绵竹市| 定襄县| 武隆县| 梅河口市| 观塘区| 杨浦区| 开阳县| 皮山县| 九台市| 平原县| 北碚区| 南丹县| 西乡县| 静宁县|