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を使用することについて以下の提案をしますが、私が読んだすべてがあなたがそのように円が欲しいことを示すことができるはずであることを示しているので、私は混乱しました。このグーグルブックエントリの1つの例

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

中心(最初と2番目の引数)としてdrawCircle()を試して、ドットの大きさに応じて半径として使用し、withストロークスタイルを使用できます。p.xp.y1 or 2paintFILL

于 2013-02-25T18:48:26.060 に答える
0

ビットマップで裏打ちされたキャンバスに描画すると、正しく描画されます。画面に直接描画した場合(つまり、キャンバスがビューのonDraw()メソッドに渡された場合)は正しく描画されないようです。したがって、問題を回避する別の方法は、最初にビットマップにレンダリングしてから、それを画面に描画することです。

于 2014-09-05T21:49:20.923 に答える