
遊戲由『背景』與『角色』『植物』『房舍』等圖檔組成.在C時代要逐個寫圖檔分析器.而在java可以通過BitmapFactory讀取Bitmap『位圖』.幾乎支持所有常見圖檔『jpg』『png』『bmp』『png』.把所有『位圖』保存到『ASSETS』目錄下
資源管理器用於訪問『ASSETS』目錄
AssetManager asset_manager = context.getAssets();
指定『位圖名』並返回輸入流
InputStream input_stream = asset_manager.open(file_name);
讀取Bitmap默認轉換為RGB_565色
Bitmap bitamp = BitmapFactory.decodeStream(input_stream);
關閉輸入流
Input_Stream.close();
獲取位圖寬度
int width = bitmap.getWidth();
讀取位圖寬度
int height = bitmap.getHeight();
獲取位圖顏色格式.
Bitmap.Config config = bitamp.getConfig();
Bitmap.Config | 位圖顏色格式 |
ALPHA_8 | 256色 |
ARGB_8888 | 32bit含ALPHA分量 |
RGB_565 | 16bit(默認) |
ARGB_4444 | 16bit含透明度分量 |
以特定顏色格式進行讀取.但渲染時最終要與OpenGL ES顏色格式一致
設定顏色格式為ARGB_8888
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
指定『位圖名』並返回輸入流
InputStream Input_Stream = asset_manager.open(file_name);
讀取Bitmap並轉換為ARGB_8888色
Bitmap bitamp = BitmapFactory.decodeStream(Input_Stream, null, options);
關閉輸入流
Input_Stream.close();