0

我已经为此工作了一段时间。这段代码:

Log.i(TAG, "stroke style: " + paint.getStyle());
Log.i(TAG, "stroke cap: " + paint.getStrokeCap());
canvas.drawPoint(p.x, p.y, paint);

在原木上打印“STROKE”和“ROUND”,但在地图上绘制一个黑色 SQUARE!任何人都知道我需要做些什么来产生一个点而不是一个正方形!?

谢谢!

编辑 我将给出以下使用 drawCircle 的建议,但我猜我只是感到困惑,因为我读过的所有内容都表明你应该能够以这种方式表明你想要一个圆圈。一个例子是这个 google book entry

4

3 回答 3

1

尝试drawCircle改用

circlePaint.setStyle(Style.FILL);
circlePaint.setAntiAlias(true);
circlePaint.setColor(0xFFFF0000); //opaque red
float radius = 10f; //10 pixels

canvas.drawCircle(p.x, p,y, radius, circlePaint);
于 2013-02-25T18:48:37.603 回答
0

如果您绘制到由位图支持的画布,它会正确绘制。如果您直接在屏幕上绘制(即传递给 View 的 onDraw() 方法的画布),它似乎无法正确绘制。因此,解决该问题的另一种方法是首先渲染位图,然后将其绘制到屏幕上。

于 2014-09-05T21:49:20.923 回答
0

您可以尝试使用和作为中心(第一个和第二个参数)的drawCircle()并用作半径取决于您希望点的大小并使用带有笔划样式..p.xp.y1 or 2paintFILL

于 2013-02-25T18:48:26.060 回答