posts - 101,  comments - 29,  trackbacks - 0

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

          Shader有幾個直接子類:

          BitmapShader    : 主要用來渲染圖像

          LinearGradient  :用來進(jìn)行線性渲染

          RadialGradient  : 用來進(jìn)行環(huán)形渲染

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

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

           

          1   BitmapShader

          渲染器著色一個位圖作為一個紋理。位圖可以重復(fù)或設(shè)置模式。

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

          調(diào)用這個方法來產(chǎn)生一個畫有一個位圖的渲染器(Shader)。

          bitmap   在渲染器內(nèi)使用的位圖

          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  :如果渲染器超出原始邊界范圍,會復(fù)制范圍內(nèi)邊緣染色。

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

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

          2 LinearGradient 

           

           

           

           X0:   漸變起初點(diǎn)坐標(biāo)x位置

          y0:    漸變起初點(diǎn)坐標(biāo)y位置

          x1:    漸變終點(diǎn)坐標(biāo)x位置

          y1:    漸變終點(diǎn)坐標(biāo)y位置

          colors:  漸變顏色數(shù)組

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

          tile:平鋪方式

           

           

          X0:       漸變起初點(diǎn)坐標(biāo)x位置

          y0:        漸變起初點(diǎn)坐標(biāo)y位置

          x1:        漸變終點(diǎn)坐標(biāo)x位置

          y1:        漸變終點(diǎn)坐標(biāo)y位置

          color0:  漸變開始顏色

          color1:  漸變結(jié)束顏色

          tile:    平鋪方式

           

           

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

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

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

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

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

           

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 荔波县| 兴仁县| 麻阳| 资溪县| 乐山市| 吉隆县| 敖汉旗| 太和县| 万全县| 连平县| 威信县| 新竹县| 古田县| 湘西| 鄯善县| 九江县| 湖南省| 灌阳县| 曲水县| 达拉特旗| 从化市| 建水县| 榕江县| 灵璧县| 邢台县| 板桥市| 增城市| 沛县| 龙胜| 沙田区| 定日县| 苏州市| 大渡口区| 苍溪县| 泽普县| 成安县| 响水县| 咸丰县| 灯塔市| 阳江市| 黔江区|