標籤:
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)
參考部落格
矩形類
Rect類,通過定義四條(左、上、右、下)邊來組成一個矩形。彆扭的是,參數代表的是每條邊距離x軸或者y軸的距離。
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