Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android UI開發專題(五) Bitmap和Canvas實例

Android UI開發專題(五) Bitmap和Canvas實例

編輯:高級開發

 在android UI開發專題的前五節我們講到的東西主要是基礎和理論內容,從本次android123將通過實例代碼來演示,本次主要是Bitmap和Canvas類的使用,根據要求縮放Bitmap對象並返回新的Bitmap對象。centerToFit方法一共有4個參數,返回一個Bitmap類型,第一個參數為原始的位圖對象,width和height分別為新的寬和高,而Context是用來加載資源的上下文實例。

Bitmap centerToFit(Bitmap bitmap, int width, int height, Context context) {
final int bitmapWidth = bitmap.getWidth(); //獲取原始bitmap的寬度
final int bitmapHeight = bitmap.getHeight();

if (bitmapWidth < width || bitmapHeight < height) {
int color = context.getResources().getColor(R.color.window_background); //從資源讀取背景色

Bitmap centered = Bitmap.createBitmap(bitmapWidth < width ? width : bitmapWidth,
bitmapHeight < height ? height : bitmapHeight, Bitmap.Config.RGB_565);
centered.setDensity(bitmap.getDensity());
Canvas canvas = new Canvas(centered);
canvas.drawColor(color); //先繪制背景色
canvas.drawBitmap(bitmap, (width - bitmapWidth) / 2.0f, (height - bitmapHeight) / 2.0f,null); //通過Canvas繪制Bitmap

bitmap = centered;
}

return bitmap; //返回新的bitmap
}

本段代碼從android 2.1開始將會應用在全新的Home主屏上,同時相關的ImageVIEw的適應屏幕大小的setScaleType(fitCenter) 方法類似,僅僅是我們制定了未來的大小。

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