Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 游戲開發之Canvas畫布

Android 游戲開發之Canvas畫布

編輯:關於Android編程

得到canvas畫布對象
[java] 
Canvas canvas = getHolder().lockCanvas(); 

畫布的一些屬性和方法以及一些應用
[java] 
if (canvas != null) { 
    //----設置畫布繪圖無鋸齒 
    canvas.setDrawFilter(pfd); 
    //----利用填充畫布,刷屏 
    canvas.drawColor(Color.BLACK); 
    //----繪制文本 
    canvas.drawText("drawText", 10, 10, paint); 
    //----繪制像素點 
    canvas.drawPoint(10, 20, paint); 
    //----繪制多個像素點 
    canvas.drawPoints(new float[] { 10, 30, 30, 30 }, paint); 
    //----繪制直線 
    canvas.drawLine(10, 40, 50, 40, paint); 
    //----繪制多條直線 
    canvas.drawLines(new float[] { 10, 50, 50, 50, 70, 50, 110, 50 }, paint); 
    //----繪制矩形 
    canvas.drawRect(10, 60, 40, 100, paint); 
    //----繪制矩形2 
    Rect rect = new Rect(10, 110, 60, 130); 
    canvas.drawRect(rect, paint); 
    canvas.drawRect(rect, paint); 
    //----繪制圓角矩形 
    RectF rectF = new RectF(10, 140, 60, 170); 
    canvas.drawRoundRect(rectF, 20, 20, paint); 
    //----繪制圓形 
    canvas.drawCircle(20, 200, 20, paint); 
    //----繪制弧形 
    canvas.drawArc(new RectF(150, 20, 200, 70), 0, 230, true, paint); 
    //----繪制橢圓 
    canvas.drawOval(new RectF(150, 80, 180, 100), paint); 
    //----繪制指定路徑圖形 
    Path path = new Path(); 
    //設置路徑起點 
    path.moveTo(160, 150); 
    //路線1 
    path.lineTo(200, 150); 
    //路線2 
    path.lineTo(180, 200); 
    //路徑結束 
    path.close(); 
    canvas.drawPath(path, paint); 
    //----繪制指定路徑圖形 
    Path pathCircle = new Path(); 
    //添加一個圓形的路徑 
    pathCircle.addCircle(130, 260, 20, Path.Direction.CCW); 
    //----繪制帶圓形的路徑文本 
    canvas.drawTextOnPath("PathText", pathCircle, 10, 20, paint); 

 
注:以上代碼參考自《Android游戲編程之從零開始》

得到自定義圖片寬高的bitmap(參數一:上下文對象,參數二:資源ID,參數三:自定義寬度,參數四:自定義高度)
[java] 
public static Bitmap loadBallView(Context context,int resId,int width,int height) { 
         
    Resources resources = context.getResources(); 
         
    Drawable image = resources.getDrawable(resId); 
         
    Bitmap bitmap = Bitmap.createBitmap(width,height, Bitmap.Config.ARGB_8888); 
         
         Canvas canvas = new Canvas(bitmap); 
         image.setBounds(0, 0, width,height); 
         image.draw(canvas); 
         
         return bitmap; 
    } 
 
利用canvas繪制bitmap
[java] 
Bitmap bitmap = loadBallView(context,R.drawable.image,100,100); 
 
Paint paint = new Paint(); 
 
canvas.drawBitmap(bitmap, startX, startY, paint); //參數一:bitmap資源,參數二:起始X坐標,參數三:起始Y坐標,參數四:畫筆paint對象 

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