2014-02-26 162 views
4

enter image description hereAndroid在画布上绘图

我有一个画布,我正在绘制这个图,使用点数组。如何用特定颜色填充它?

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    RectF oval = new RectF(90, 100, 200, 300); 
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); 

    paint.setColor(Color.RED); 
    paint.setStrokeWidth(5f); 

    // canvas.drawRect(oval, paint); 

    //canvas.drawArc(oval, 30f, 100f, true, paint); 

    float [] pts = {0,200, 
        120,140,120,140, 
        180,20,180,20, 
        260,100,260,100, 
        350,20,350,20, 
        410,140,410,140, 
        530,200,530,200, 
        410,260,410,260, 
        350,380,350,380, 
        260,300,260,300, 
        180,380,180,380, 
        120,260,120,260, 
        0,200 
    }; 

    //canvas.drawPoints(pts, paint); 
    canvas.drawLines(pts, paint); 

    //RectF tail = new RectF(0f, 50f, 200f,100f); 
    //canvas.drawArc(tail, 0f, 50f, true, paint); 

    //canvas.drawRoundRect(oval, 20f, 20f, paint); 

    invalidate(); 

} 

所以基本上我想要做的就是填充颜色沿这些点存在于数组中。对此有何帮助?

+0

尝试应用样式'Paint' ...'paint.setStyle(Paint.Style.FILL);' –

+0

遗憾地说,但它不是working.Any其他建议? – Pankaj

+0

什么这些点代表?矩形或三角形或类似的东西?您可以显示的图像,它是如何绘制后看起来喜欢? –

回答

1

你需要建立一个Path,并使用canvas.drawPath。