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

相关内容