開發中遇到一些涉及到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
以後會陸續補充歸納.