web-dev-qa-db-fra.com

Android Positionnement de la largeur du trait de peinture

Étant donné ce code pour tracer une ligne:

Paint p;

p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setColor(Android.graphics.Color.WHITE);
p.setStyle(Paint.Style.FILL);
p.setStrokeWidth(21);

canvas.drawLine(0,50,100,50,p);

il y a 3 stratégies possibles de tracé:

  • A l'intérieur: la ligne est peinte dans le rectangle (0,50,100,70)
  • Centre: la ligne est peinte dans le rectangle (0,40,100,60)
  • Extérieur: La ligne est peinte dans le rectangle (0,30,100,50)

En pratique, il apparaît que le comportement par défaut suit la stratégie du Centre. Est-il possible de modifier un Paint pour produire des résultats correspondant à l'une des autres stratégies?

30
ilomambo

Non, vous ne pouvez pas; le trait est toujours centré. Les seules choses que vous pouvez contrôler sont:

Vous devez tenir compte manuellement de la largeur du trait lors de la définition de vos chemins de dessin.

18
avianey