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