Я пытаюсь нарисовать 2D-треугольник в Android-студии, используя canvas, поэтому, если я использую приведенный ниже код для рисования треугольника без его заполнения, он дает дополнительную линию. Хотя, если я использую тот же код для заполнения треугольника, вывод правильный. Ниже приведен мой код для обоих случаев:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView (MainActivity.this));
}
public class MyView extends View{
public MyView(Context context){
super(context);
}
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
Paint paint=new Paint();
Path path=new Path();
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.WHITE);
canvas.drawPaint(paint);
Point a=new Point(300,200);
Point b=new Point(100,500);
Point c=new Point(900,800);
paint.setColor(Color.BLUE);
path.lineTo(a.x,a.y);
path.lineTo(b.x,b.y);
path.lineTo(c.x,c.y);
path.lineTo(a.x,a.y);
path.close();
canvas.drawPath(path,paint);}
В стиле Stroke:
В стиле Fill: