編輯:關於Android編程
網上查了一下相關的文章,認為自己看懂了,但是實際測試時和網上說的並不一樣(後來研究發現,那個人寫的是錯的!!!),所以,在此提醒大家,要勇於質疑,勇於提出問題。
首先說明camera類,這個類位於package android.graphics 包下,用於圖像3D變換,通過旋轉、偏移等方式,最終通過getMatrix(Matrix)方法拿到矩陣,作用於canvas,使得畫面呈現出立體效果。
camera的源碼沒什麼看的,這裡列舉他的主要方法:
public native void save(); public native void restore(); public native void translate(float x, float y, float z); public native void rotateX(float deg); public native void rotateY(float deg); public native void rotateZ(float deg); public native void rotate(float x, float y, float z); public native float getLocationX(); public native float getLocationY(); public native float getLocationZ(); public native void setLocation(float x, float y, float z); public void getMatrix(Matrix matrix) { nativeGetMatrix(matrix.native_instance); } public void applyToCanvas(Canvas canvas) { nativeApplyToCanvas(canvas.mNativeCanvas); } public native float dotWithNormal(float dx, float dy, float dz);
接著我們來看看Camera變換的幾個軸坐標,圖有點難看哈。
這個才是正確的x, y ,z 軸坐標,而另外一個文章說的左手坐標系,經過我的驗證那個作者寫的是錯誤的。
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+Y2FtZXJhzrvT2tf4seq140+146OoMCwwLDCjqaOs0rK+zcrHzbzW0LXE1/PJz73HPC9wPgo8cD5yb3RhdGU8L3A+CjxwPr3T18XO0sPHv7TI57rO0P3XqqOsztLDx7zZyei/ydLU16q2r8281tDX+LHqz7WjrM7Sw8fQ/deq1/ix6s+1o6zIw1jW4dX9t73P8ta4z/LO0sPHo6zSsr7NysfLtdXiyrG68s7Sw8e/tLn9yKVBteO6zU+149bYus/By6OoxNzA7b3iw7Sjv7K7xNzA7b3ixMO49re9v+m2q87316rXxdfUvLq/tKOpoaPIu7rzo6zV4sqxuvLR2NfFy7PKsdXrvfjQ0ND916qjrMi7uvPO0sPHtNPK1rv6xsHEu7e9z/K527Lso6y+zbvht6LP1rHku6/By6GjPC9wPgo8cD7Ex87Sw8fU2b+00ru49sD919OjumNhbWVyYS5yb3RhdGVZKDQ1KTwvcD4KPHA+y/vS4su8ysfIxnnW4cuzyrHV69D916o0NbbIoaPI57n7zu/M5dbQvOTP37rNedbh1ti6z6Os1f3IxnnW4cuzyrHV69D916o0NbbIvs3Kx9a4zu/M5dPSsOuyv7fWz/LA77et16qjrNfzsOuyv7fWz/LN4ret16qjuzwvcD4KPHA+Y2FtZXJhLnJvdGF0ZVgoNDUptcTS4su8ysfIxnjW4cuzyrHV69D916o0NbbIoaO+2cD9wLTLtaOsyOe5+87vzOXW0Lzkz9+6zXjW4dbYus+1xLuwo6zIxnjW4cuzyrHV69D916o0NbbIvs3Kx9a4zu/M5cnPsOuyv7fWz/LA77et16qjrM/CsOuyv7fWz/LN4ret16qjuzwvcD4KPHA+Y2FtZXJhLnRyYW5zbGF0ZSg0MCwgMzAsIDMwKbXE0uLLvKOs1NrNvNbQv7S+zcrHsNG527Lszu/M5dPS0sY0MKOsz8LSxjMwo6zP8nrW4dX9t73P8tLGMjCjqLy0yMPO78zl1LbA68bBxLujrLy0zu/M5b2ru+Gx5NCho6mjuzxicj4KPC9wPgo8cD48YnI+CjwvcD4KPHA+ztLDx7+0vLi49s28wLS808nuwO294qO6PC9wPgo8cD7K18/I1K3NvKO6PC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20150117/20150117092512162.png" alt="\">
進行變換:camera.rotateX(60);
進行變換: camera.rotateY(60);
進行變換:camera.rotateZ(-60); (這裡是-60哈)
translate和canvas的偏移類似,這裡不再上圖示意。
這篇文章是android開發人員的必備知識,是我特別為大家整理和總結的,不求完美,但是有用。1.背景自適應且不失真問題的存在 制作自適應背景圖片是UI開發的一個廣泛問題
本文實例講述了Android編程實現任務管理器的方法。分享給大家供大家參考,具體如下:任務管理器可以實現的功能有:1.查看當前系統下運行的所有的進程2.可以查看每個進程的
前言作為一個有半年余Android Developing折騰經驗的Android Developer(為什麼不說“開發經驗”呢?因為我仔細想了想,
本文實例講述了Android實現捕獲TextView超鏈接的方法。分享給大家供大家參考,具體如下:這裡分享一篇捕獲TextView超鏈接的文章,希望對大家有所幫助,我終於