Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android技術基礎 >> 第53章、Matrix圖形處理(從零開始學Android)

第53章、Matrix圖形處理(從零開始學Android)

編輯:Android技術基礎

 在android中通過Canvas顯示圖像我們已經明白了,但如果想讓圖像旋轉、縮放、透明……,我們則要使用Matrix。

  本案例讓位圖放大3倍。

 

一、程序文件

  1、新建BitmapView.java文件。

  在“src/com.genwoxue.matrix”位置,新建MatixView.java文件。

  \

  MatixView.java文件源代碼如下:

[java] view plain copy  
  1. package com.genwoxue.matrix;  
  2.   
  3.   
  4. import android.content.Context;    
  5. import android.content.res.Resources;  
  6. import android.graphics.Bitmap;  
  7. import android.graphics.BitmapFactory;  
  8. import android.graphics.Canvas;  
  9. import android.graphics.Matrix;  
  10. import android.graphics.Paint;  
  11. import android.graphics.Color;  
  12. import android.view.View;  
  13.   
  14.   
  15. public class MatrixView extends View{  
  16.       
  17.     Paint paint=null;  
  18.     Resources src=null;  
  19.     Bitmap bmp=null;  
  20.       
  21.     public MatrixView(Context context) {     
  22.         super(context);     
  23.           
  24.         /*---------------------------------------------- 
  25.          * 建議盡量把初始化畫筆、資源、位圖不放在onDraw方法中,這是因為: 
  26.          * onDraw經常會運行 到的,不要在裡面new對象,越少越好,不然很浪費內存 
  27.          *--------------------------------------------*/  
  28.           
  29.         //獲取畫筆paint,初始化畫筆  
  30.         paint=new Paint();  
  31.         //獲取資源src  
  32.         src=getResources();  
  33.         // 獲取位圖  
  34.         bmp=BitmapFactory.decodeResource(src, R.drawable.ic_launcher);  
  35.           
  36.     }    
  37.       
  38.     @Override  
  39.     protected void onDraw(Canvas canvas){  
  40.           
  41.         //顯示位圖  
  42.         canvas.drawBitmap(bmp,220,220,paint);  
  43.         //初始化Matrix,放大3倍  
  44.         Matrix matrix=new Matrix();  
  45.         matrix.setScale(3f, 3f);  
  46.         //顯示放大3倍的位圖   
  47.         canvas.drawBitmap(bmp, matrix, null);  
  48.           
  49.     }  
  50. }  


2、打開MainActivity.java主文件

  打開“src/com.genwoxue.matrix/MainActivity.java”文件。

  MainActivity.java文件源代碼如下:

[java] view plain copy  
  1. package com.genwoxue.matrix;  
  2.   
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5.   
  6. public class MainActivity extends Activity {  
  7.   
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.           
  12.         //實例化GraphicsView  
  13.         MatrixView mv = new MatrixView(this);   
  14.           
  15.         /* 在以前我們通過setContentView(R.layout.activity_main)顯示布局文件 
  16.          * 本例中使用GraphicsView對象gv代替以前布局文件 
  17.          */  
  18.         setContentView(mv);  
  19.     }  
  20.   
  21. }  


二、運行結果

  \

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