为什么drawPath不工作?

时间:2011-08-11 16:55:11

标签: android draw android-canvas

我有drawpath的代码,没有任何显示,我无法找出原因。

//i move the path's starting point somewhere up here to a point.
//get center x and y are the centers of a picture. it works when i
//do drawline and store the different starting points 
//but i want it to look continuous not like a lot of different
//lines

path.lineTo(a.getCenterX(), a.getCenterY());
path.moveTo(a.getCenterX(), a.getCenterY());


p.setStrokeWidth(50);
p.setColor(Color.BLACK);
canvas.drawPath(path,p);

drawpath image

提前致谢

3 个答案:

答案 0 :(得分:10)

新的Paint实例仅填充路径。

描边路径,请设置绘图样式:

paint.setStyle(Paint.Style.STROKE);

如果您正在绘制的背景为黑色,请更改颜色,以便您可以看到油漆:

paint.setColor(Color.RED);   // something other than the background color

可选:

paint.setStrokeWidth(10);  // makes the line thicker

答案 1 :(得分:5)

我必须将它添加到绘画中以使其工作。不知道为什么。

mPaint.setDither(true);
mPaint.setColor(0xFFFFFF00);
mPaint.setStyle(Paint.Style.STROKE);    
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(3);

答案 2 :(得分:0)

我认为解决问题的最佳方法是更改​​代码,如下所示:

private final int strokeWidth = 50;

path.lineTo(a.getCenterX() + strokewidth / 2, a.getCenterY() + strokeWidth / 2);
path.moveTo(a.getCenterX(), a.getCenterY());

p.setStrokeWidth(strokeWidth);
p.setColor(Color.BLACK);
canvas.drawPath(path,p);

你可能不得不玩这个,但这应该基本上重叠线,所以看起来它们是连续的。

你可能需要在一个方向上插入一个switch语句,但这应该是相当简单的。

我希望这有帮助!