Android 顏色渲染(三) Shader顏色渲染

來源:互聯網
上載者:User

應用顏色渲染. 首先要介紹Android Api中關於顏色渲染的幾個重要的類:
    Shader,BitmapShader,ComposeShader,LinearGradient,RadialGradient,SweepGradient看一下它們之間的關係:
  public class Shader extends Object
該類作為基類主要是返回繪製時顏色的橫向跨度。其子類可以作用與Piant。通過 piant.setShader(Shader shader);來實現一些渲染效果。之作用與圖形不作用與bitmap。
構造方法為預設的構造方法。  枚舉:
emun Shader.TileMode 
定義了平鋪的3種模式:
static final Shader.TileMode CLAMP: 邊緣展開.
static final Shader.TileMode MIRROR:在水平方向和垂直方向交替景象, 兩個相鄰映像間沒有縫隙.
Static final Shader.TillMode REPETA:在水平方向和垂直方向重複擺放,兩個相鄰映像間有縫隙縫隙.
 
方法:
1. boolean getLoaclMatrix(Matrix localM); 如果shader有一個非本地的矩陣將返回true.
    localM:如果不為null將被設定為shader的本地矩陣.
2. void setLocalMatrix(Matrix localM);    設定shader的本地矩陣,如果localM為空白將重設shader的本地矩陣。  Shader的直接子類:BitmapShader    : 位元影像映像渲染LinearGradient  : 線性渲染RadialGradient  : 環形渲染SweepGradient   : 掃描漸層渲染/梯度渲染ComposeShader   : 組合渲染,可以和其他幾個子類組合起來使用是不是很像Animation及其子類的關係(AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation, AnimationSet)既有具體的渲染效果,也有渲染效果的組合 下面說下Shader的使用步驟:1. 構建Shader對象2. 通過Paint的setShader方法設定渲染對象3.設定渲染對象4.繪製時使用這個Paint對象
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.