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

Android游戲開發之旅十 位圖旋轉

編輯:初級開發

今天有關android游戲開發的基礎,我們說下Bitmap相關的實用操作,這裡我們就說下位圖旋轉。在android中圖形的旋轉和變化提供了方便的矩陣Maxtrix類,Maxtrix類的setRotate方法接受圖形的變換角度和縮放,最終Bitmap類的createBitmap方法中其中的重載函數,可以接受Maxtrix對象,方法原型如下

  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包含了超過一個翻轉才有效。

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

 public static Bitmap rotate(Bitmap b, int degrees) {
        if (degrees != 0 && b != null) {
            Matrix m = new Matrix();
            m.setRotate(degrees,
                    (float) b.getWidth() / 2, (float) b.getHeight() / 2);
            try {
                Bitmap b2 = Bitmap.createBitmap(
                        b, 0, 0, b.getWidth(), b.getHeight(), m, true);
                if (b != b2) {
                    b.recycle();  //android開發網再次提示Bitmap操作完應該顯示的釋放
                    b = b2;
                }
            } catch (OutOfMemoryError ex) {
                // android123建議大家如何出現了內存不足異常,最好return 原始的bitmap對象。.
            }
        }
        return b;
    }

  有關Maxtrix類的更多實用例子,我們將在以後多次提到。

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