標籤:android c style blog a http
開發中遇到一些涉及到Matrix的地方,現在此歸納,便於日後查閱。
通過對ImageView設定Matrix來實現ImageView中圖片的單指拖動和兩指縮放
核心方法:
imageView.setImageMatrix(matrix);
所以我們的重點在於去操作一個Matrix.
該處主要用到的是利用Matrix實現縮放(Scale)和位移(Translate)
Android圖片旋轉,縮放,位移,傾斜,對稱完整樣本(一)——imageView.setImageMatrix(matrix)和Matrix
這裡沒有什麼新意核心方法仍然是imageView.setImageMatrix(matrix);
還是主要去操作了一個Matrix.然後將此修改過的Matrix設定給ImageView.
在這裡是一個自訂的ImageView繼承自系統的ImageView.
所以每次在給該自訂ImageView調用setImageMatrix(matrix);方法時它都會調用onDraw()方法
Android圖片旋轉,縮放,位移,傾斜,對稱完整樣本(二)——Bitmap.createBitmap()和Matrix
在該例子中主要利用Bitmap.createBitmap(...matrix...)和Matrix實現映像的旋轉,縮放,位移,傾斜.
該方式的作用和mImageView.setImageMatrix(matrix);是一樣的
所以:
對於圖片的旋轉,縮放,位移,傾斜以及對稱都是利用Matrix實現的!只是說作用的對象不同.
(1)利用imageView.setImageMatrix(matrix)作用於ImageView.
因為ImageView展示了圖片,所以Matrix的效果可在圖片體現
(2)利用Bitmap.createBitmap(...matrix...)直接作用於新產生的Bitmap
Matrix的set,pre,post調用順序
這裡主要是理解Matrix的set,pre,post調用順序.
比如有時候困惑為什麼pre或者post沒有起到作用,看到這個就應該可以理解了
產生Bitmap的倒影
這裡也使用到了Matrix
以後會陸續補充歸納.