天天看點

Android中Matrix開發彙總

開發中遇到一些涉及到Matrix的地方,現在此歸納,便于日後查閱。

<a target="_blank" href="http://blog.csdn.net/lfdfhl/article/details/9041041">通過對ImageView設定Matrix來實作ImageView中圖檔的單指拖動和兩指縮放</a>

核心方法:

imageView.setImageMatrix(matrix);

是以我們的重點在于去操作一個Matrix.

該處主要用到的是利用Matrix實作縮放(Scale)和位移(Translate)

<a target="_blank" href="http://blog.csdn.net/lfdfhl/article/details/28475023">Android圖檔旋轉,縮放,位移,傾斜,對稱完整示例(一)——imageView.setImageMatrix(matrix)和Matrix</a>

這裡沒有什麼新意核心方法仍然是imageView.setImageMatrix(matrix);

還是主要去操作了一個Matrix.然後将此修改過的Matrix設定給ImageView.

在這裡是一個自定義的ImageView繼承自系統的ImageView.

是以每次在給該自定義ImageView調用setImageMatrix(matrix);方法時它都會調用onDraw()方法

<a target="_blank" href="http://blog.csdn.net/lfdfhl/article/details/28473065">Android圖檔旋轉,縮放,位移,傾斜,對稱完整示例(二)——Bitmap.createBitmap()和Matrix</a>

在該例子中主要利用Bitmap.createBitmap(...matrix...)和Matrix實作圖像的旋轉,縮放,位移,傾斜.

該方式的作用和mImageView.setImageMatrix(matrix);是一樣的

是以:

對于圖檔的旋轉,縮放,位移,傾斜以及對稱都是利用Matrix實作的!隻是說作用的對象不同.

(1)利用imageView.setImageMatrix(matrix)作用于ImageView.

   因為ImageView展示了圖檔,是以Matrix的效果可在圖檔展現

(2)利用Bitmap.createBitmap(...matrix...)直接作用于新生成的Bitmap

<a target="_blank" href="http://blog.csdn.net/lfdfhl/article/details/9078549">Matrix的set,pre,post調用順序</a>

這裡主要是了解Matrix的set,pre,post調用順序.

比如有時候困惑為什麼pre或者post沒有起到作用,看到這個就應該可以了解了

<a target="_blank" href="http://blog.csdn.net/lfdfhl/article/details/8560107">生成Bitmap的倒影</a>

這裡也使用到了Matrix

以後會陸續補充歸納.

繼續閱讀