Je pense que j'ai frappé un bug méchant. Le problème est que les lignes presque horizontales avec une légère pente et en utilisant une peinture avec strokeWidth = 1 ne sont pas comploté, par exemple:drawLine problème avec Paint.StrokeWidth = 1 dans Android
public class MyControl extends View {
public MyControl(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint pen = new Paint();
pen.setColor(Color.RED);
pen.setStrokeWidth(1);
pen.setStyle(Paint.Style.STROKE);
canvas.drawLine(100, 100, 200, 90, pen); //not painted
canvas.drawLine(100, 100, 200, 100, pen);
canvas.drawLine(100, 100, 200, 110, pen); //not painted
canvas.drawLine(100, 100, 200, 120, pen); //not painted
canvas.drawLine(100, 100, 200, 130, pen);
pen.Color = Color.MAGENTA;
pen.setStrokeWidth(2);
canvas.drawLine(100, 200, 200, 190, pen);
canvas.drawLine(100, 200, 200, 200, pen);
canvas.drawLine(100, 200, 200, 210, pen);
canvas.drawLine(100, 200, 200, 220, pen);
canvas.drawLine(100, 200, 200, 230, pen);
}
}
Et en utilisant la classe MyControl ainsi:
public class prova extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyControl ctrl = new MyControl(this);
setContentView(ctrl);
}
}
Réglage strokeWidth à 0 ou> 1 toutes les lignes sont tracées.
Quelqu'un peut-il apporter quelque lumière à ce sujet ou dois-je soumettre ce problème en tant que Android Issue?
Merci d'avance!