自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android游戲開(kāi)發(fā)之十:Bitmap位圖的旋轉(zhuǎn)

移動(dòng)開(kāi)發(fā) Android 游戲開(kāi)發(fā)
本節(jié)講解Android游戲開(kāi)發(fā)中Bitmap的實(shí)用操作--位圖旋轉(zhuǎn),此知識(shí)點(diǎn)是Android游戲開(kāi)發(fā)的基礎(chǔ)性內(nèi)容。

Android為圖形的旋轉(zhuǎn)和變化提供了方便的矩陣Matrix類(lèi)。Maxtrix類(lèi)的setRotate方法接受圖形的變換角度和縮放,而后可以 由Bitmap類(lèi)的createBitmap方法的一個(gè)重載函數(shù)接受Maxtrix對(duì)象,此createBitmap方法原型如下:

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

參數(shù)的具體意義:

source:源bitmap對(duì)象

x:源坐標(biāo)x位置

y:源坐標(biāo)y位置

width:寬度

height:高度

m:接受的maxtrix對(duì)象,如果沒(méi)有可以設(shè)置為null

filter:該參數(shù)僅對(duì)maxtrix包含了超過(guò)一個(gè)翻轉(zhuǎn)才有效。

下面給大家一個(gè)比較經(jīng)典的例子,rotate方法是靜態(tài)方法可以直接調(diào)用,參數(shù)為源Bitmap對(duì)象,參數(shù)二為旋轉(zhuǎn)的角度,從0~360,返回值為新的Bitmap對(duì)象。其中具體的寬高可以調(diào)整。

  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, 00, b.getWidth(), b.getHeight(), m, true);    
  9.                 if (b != b2) {    
  10.                     b.recycle();  //Android開(kāi)發(fā)網(wǎng)再次提示Bitmap操作完應(yīng)該顯示的釋放    
  11.                     b = b2;    
  12.                 }    
  13.             } catch (OutOfMemoryError ex) {    
  14.                 // 建議大家如何出現(xiàn)了內(nèi)存不足異常,***return 原始的bitmap對(duì)象。.    
  15.             }    
  16.         }    
  17.         return b;    
  18.     }   

在后面的教程中我們會(huì)給出Matrix類(lèi)相關(guān)的一些其他的應(yīng)用實(shí)例。

責(zé)任編輯:閆佳明 來(lái)源: jizhuomi
相關(guān)推薦

2013-09-16 16:56:09

AndroidBitmap內(nèi)存優(yōu)化

2020-09-08 06:28:42

大數(shù)據(jù)應(yīng)用

2013-05-21 11:26:49

Android游戲開(kāi)發(fā)Sensor感應(yīng)

2013-05-21 14:22:29

Android游戲開(kāi)發(fā)捕獲屏幕雙擊事件

2013-05-20 17:51:47

Android游戲開(kāi)發(fā)SurfaceView

2019-02-01 10:05:33

開(kāi)源游戲開(kāi)發(fā)游戲引擎

2013-05-21 11:33:11

Android游戲開(kāi)發(fā)按鍵中斷事件

2013-05-20 17:13:17

Android游戲開(kāi)發(fā)CanvasPaint

2013-05-20 17:48:20

2013-05-21 09:56:15

2013-05-21 13:55:51

Android游戲開(kāi)發(fā)圖像漸變特效

2013-05-21 11:24:07

Android游戲開(kāi)發(fā)Sensor重力感應(yīng)

2013-05-20 15:42:22

2013-05-20 17:33:44

Android游戲開(kāi)發(fā)自定義View

2013-05-21 13:33:02

Android游戲開(kāi)發(fā)異步音樂(lè)播放

2013-05-21 14:15:23

Android游戲開(kāi)發(fā)屏幕分辨率

2013-05-21 14:10:11

Android游戲開(kāi)發(fā)SoundPool類(lèi)同時(shí)多音效

2013-05-21 15:28:31

2013-05-20 17:21:34

2013-05-21 16:17:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)