歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android圖像相關

badboy1110知識,首先是Bitmap:

從資源文件中得到bitmap有兩種方式:

一:

  1. Resources r = getResources();  
  2. InputStream is = r.openRawResource(R.drawable.icon);  
  3. BitmapDrawable bmpDraw = new BitmapDrawable(is);  
  4. Bitmap bmp1 = bmpDraw.getBitmap();  
二:
  1. BitmapDrawable drawable = (BitmapDrawable)r.getDrawable(R.drawable.icon)  

一下是畫各種圖形,首先寫了一個畫圖形的接口:

  1. package com.song.ui;  
  2.   
  3. import Android.graphics.Canvas;  
  4.   
  5. public interface drawGraphics  
  6. {  
  7.     public void draw(Canvas canvas);  
  8. }  
然後花各種圖形的時候實現接口:

畫線:

  1. package com.song.ui;  
  2.   
  3. import android.graphics.Canvas;  
  4. import android.graphics.Color;  
  5. import android.graphics.Paint;  
  6.   
  7. /** 
  8.  * 畫線 
  9.  * @author song 
  10.  * 
  11.  */  
  12. public class DrawLine implements drawGraphics  
  13. {  
  14.     //聲明一個畫筆   
  15.     private Paint mPaint;  
  16.       
  17.     public DrawLine()  
  18.     {  
  19.         mPaint = new Paint();  
  20.     }  
  21.       
  22.     @Override  
  23.     public void draw(Canvas canvas)  
  24.     {  
  25.         //消除鋸齒   
  26.         mPaint.setAntiAlias(true);  
  27.         //直線 顏色:綠色   
  28.         mPaint.setColor(Color.GREEN);  
  29.         //設置線條粗細   
  30.         mPaint.setStrokeWidth(12);  
  31.         //畫兩條直線   
  32.         canvas.drawLine(904014090, mPaint);  
  33.         canvas.drawLine(2909034040, mPaint);  
  34.     }  
  35. }  

畫圓:

view plaincopy to clipboardprint?
  1. package com.song.ui;  
  2.   
  3. import android.graphics.Canvas;  
  4. import android.graphics.Color;  
  5. import android.graphics.Paint;  
  6. import android.graphics.RectF;  
  7.   
  8. /** 
  9.  * 畫圓 
  10.  * @author song 
  11.  * 
  12.  */  
  13. public class DrawCircle implements drawGraphics  
  14. {  
  15.     private Paint paint ;  
  16.     private Paint paint_eye;  
  17.       
  18.     public DrawCircle()  
  19.     {  
  20.         paint= new Paint();  
  21.         paint_eye=new Paint();  
  22.     }  
  23.       
  24.     @Override  
  25.     public void draw(Canvas canvas)  
  26.     {  
  27.         //繪制圓形(圓心X,圓心Y,半徑R,畫筆P)   
  28.         paint_eye.setAntiAlias(true);  
  29.         paint.setAntiAlias(true);  
  30.         RectF rectF= new RectF(9060340240);  
  31.         paint_eye.setColor(Color.WHITE);  
  32.         paint.setColor(Color.GREEN);  
  33.         canvas.drawArc(rectF, 180180true, paint);  
  34.         //畫兩個眼睛   
  35.         canvas.drawCircle(16011018, paint_eye);  
  36.         canvas.drawCircle(27011018, paint_eye);  
  37.     }  
  38.   
  39. }  
畫矩形:
  1. package com.song.ui;  
  2.   
  3. import android.graphics.Canvas;  
  4. import android.graphics.Color;  
  5. import android.graphics.Paint;  
  6. import android.graphics.RectF;  
  7.   
  8. /** 
  9.  * 畫矩形 
  10.  *  
  11.  * @author song 
  12.  *  
  13.  */  
  14. public class DrawRect implements drawGraphics  
  15. {  
  16.     private Paint paint;  
  17.   
  18.     public DrawRect()  
  19.     {  
  20.         paint = new Paint();  
  21.     }  
  22.   
  23.     @Override  
  24.     public void draw(Canvas canvas)  
  25.     {  
  26.         // 定義圓角矩形對象   
  27.         RectF rectF1 = new RectF(90170340500);  
  28.         RectF rectF2 = new RectF(1015060400);  
  29.         RectF rectF3 = new RectF(360150410400);  
  30.         RectF rectF4 = new RectF(110520170650);  
  31.         RectF rectF5 = new RectF(260520320650);  
  32.         paint.setAntiAlias(true);  
  33.         // 設置畫筆顏色為BLUE   
  34.         paint.setColor(Color.GREEN);  
  35.         // 在畫布上繪制圓角矩形/圓弧/直線   
  36.         canvas.drawRoundRect(rectF1, 2020, paint);  
  37.         canvas.drawRoundRect(rectF2, 2020, paint);  
  38.         canvas.drawRoundRect(rectF3, 2020, paint);  
  39.         canvas.drawRoundRect(rectF4, 2020, paint);  
  40.         canvas.drawRoundRect(rectF5, 2020, paint);  
  41.     }  
  42.   
  43. }  
這個可以畫出來一個Android的機器人,

工程名:TL03_graphics_test

Copyright © Linux教程網 All Rights Reserved