Android自訂View學習筆記03

來源:互聯網
上載者:User

標籤:

Android自訂View學習筆記03預備知識 BitMap

BitMap位元影像類,其中有一個嵌套類叫Bitmap.Config,內部有四個枚舉值。這個類的作用是定義位元影像儲存品質,即儲存一個像素的位元,以及是否能顯示透明、半透明顏色(Possible bitmap configurations. A bitmap configuration describes how pixels are stored. This affects the quality (color depth) as well as the ability to display transparent/translucent colors)。

A 透明度 R 紅色 G 綠色 B 藍色
Bitmap.Config ALPHA_8 只儲存透明度,其他顏色不儲存
Bitmap.Config ARGB_4444 16 每個像素 佔四位
Bitmap.Config ARGB_8888 32 每個像素 佔八位
Bitmap.Config RGB_565 16 R佔5位 G佔6位 B佔5位 沒有透明度(A)
參考部落格

矩形類
  1. Rect類,通過定義四條(左、上、右、下)邊來組成一個矩形。彆扭的是,參數代表的是每條邊距離x軸或者y軸的距離。
  2. RectF類,同上,不同的是Rect的參數類型的整形,帶F的是單精確度浮點數。另外Rect對象可以作為參數來構造RectF對象。
一個很重要的類 BitmapShader位元影像渲染器

BitmapShader位元影像渲染器,用位元影像當做紋理來畫圖,通過設定模式來設定不同的渲染效果(Shader used to draw a bitmap as a texture. The bitmap can be repeated or mirrored by setting the tiling mode)。

  • 構造方法BitmapShader(Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY),參數分別是,當做紋理的位元影像、橫軸方向的渲染方式、縱軸方向的渲染方式。
  • 有個嵌套類Shader.TileMode 瓦片模式,裡面定義了三個枚舉類型的變數。

CLAMP 如果渲染器超出了原始邊界範圍,會複製原始邊界的顏色在範圍外渲染。
REPEAT如果顯示範圍大於圖片的大小,則會橫向和縱向的重複渲染圖片,進行平鋪。
MIRROR和上一個類似,只不過是用鏡像方式進行平鋪。
一般用的時候會用第一個參數。

  • 設定變形矩陣的方法public void setLocalMatrix(Matrix localM)
  • 參考部落格Android學習筆記進階16之BitmapShader
Paint

該類內有一個設定Shader渲染器對象的方法public Shader setShader(Shader shader)來設定渲染器。

Matrix矩陣類

Matrix內部存有一個3*3的矩陣,裡面存有變形資訊,沒有建構函式。只能通過具體的方法來設定相關參數。這個矩陣被分為四部分,分別是比例旋轉、平移、等比例變換、透視變換。運算原理就是矩陣的變換,參考Android Matrix理論與應用詳解
- 設定縮放的方法public void setScale(float sx,float sy),參數是水平縮放比例和豎直縮放比例。

未完

Android自訂View學習筆記03

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.