パスを作成し、path.moveTo(x, y)
およびpath.lineTo(x, y)
を使用して各パスに複数行を追加しています。次に、canvas.drawPath(path, Paint)
がすべてのパスを描画しています。ただし、一部のパスでは、ライン間に1〜2ピクセルのスペースがあります。これらのスペースを削除するにはどうすればよいですか?私のコードはそのようなものです:
Paint = new Paint();
Paint.setColor(Color.RED);
Paint.setStyle(Paint.Style.FILL_AND_STROKE);
Paint.setDither(false);
Paint.setStrokeWidth(3);
Paint.setAntiAlias(true);
for (int i = 0; i < length; i++) {
Path path = new Path();
path.moveTo(a, b);
path.lineTo(c, d);
path.moveTo(c, d);
path.lineTo(e, f);
canvas.drawPath(path, Paint);
}
多分これはあなたが望むものを作成します
Paint.setColor(color); // set the color
Paint.setStrokeWidth(size); // set the size
Paint.setDither(true); // set the dither to true
Paint.setStyle(Paint.Style.STROKE); // set to STOKE
Paint.setStrokeJoin(Paint.Join.ROUND); // set the join to round you want
Paint.setStrokeCap(Paint.Cap.ROUND); // set the Paint cap to round too
Paint.setPathEffect(new CornerPathEffect(10) ); // set the path effect when they join.
Paint.setAntiAlias(true); // set anti alias so it smooths
:)
あなたはおそらくlineTo(c, d)
をしたくないし、すぐにmoveTo(c, d)
も同じポイントです。これを行うと、醜いギャップのように見える可能性がある2つの線分セグメントに素敵なコーナー結合が得られません。
moveTo
を削除してみてください。