Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android游戲 >> Android游戲開發 >> Android游戲開發教程之十:Bitmap位圖的旋轉

Android游戲開發教程之十:Bitmap位圖的旋轉

編輯:Android游戲開發

       本節講解Android游戲開發中Bitmap的實用操作--位圖旋轉,此知識點是Android游戲開發的基礎性內容。

       Android為圖形的旋轉和變化提供了方便的矩陣Matrix類。Maxtrix類的setRotate方法接受圖形的變換角度和縮放,而後可以由Bitmap類的createBitmap方法的一個重載函數接受Maxtrix對象,此createBitmap方法原型如下:

       public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter) 

       參數的具體意義:

       source:源bitmap對象
       x:源坐標x位置
       y:源坐標y位置
       width:寬度
       height:高度
       m:接受的maxtrix對象,如果沒有可以設置為null
       filter:該參數僅對maxtrix包含了超過一個翻轉才有效。

       下面給大家一個比較經典的例子,rotate方法是靜態方法可以直接調用,參數為源Bitmap對象,參數二為旋轉的角度,從0~360,返回值為新的Bitmap對象。其中具體的寬高可以調整。 

Java代碼
  1. public static Bitmap rotate(Bitmap b, int degrees) {   
  2.         if (degrees != 0 && b != null) {   
  3.             Matrix m = new Matrix();   
  4.             m.setRotate(degrees,   
  5.                     (float) b.getWidth() / 2, (float) b.getHeight() / 2);   
  6.             try {   
  7.                 Bitmap b2 = Bitmap.createBitmap(   
  8.                         b, 0, 0, b.getWidth(), b.getHeight(), m, true);   
  9.                 if (b != b2) {   
  10.                     b.recycle();  //Android開發網再次提示Bitmap操作完應該顯示的釋放   
  11.                     b = b2;   
  12.                 }   
  13.             } catch (OutOfMemoryError ex) {   
  14.                 // 建議大家如何出現了內存不足異常,最好return 原始的bitmap對象。.   
  15.             }   
  16.         }   
  17.         return b;   
  18.     }  

       在後面的教程中我們會給出Matrix類相關的一些其他的應用實例。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved