歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android圖像相關

Android圖像相關

日期:2017/3/1 11:16:16   编辑:Linux編程

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. import Android.graphics.Canvas;
  3. public interface drawGraphics
  4. {
  5. public void draw(Canvas canvas);
  6. }
然後花各種圖形的時候實現接口:

畫線:

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

畫圓:

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

工程名:TL03_graphics_test

Copyright © Linux教程網 All Rights Reserved