donc, vous voulez 4 lignes - deux diagonales, les une verticale et une horizontale, tout en traversant le centre du cercle.
Tout d'abord, nous allons définir le centre du cercle:
int centerX = x/2;
int centerY = y/2;
Ensuite, ajoutez quelques variables auxiliaires pour la gauche, en haut, à droite et en bas pour les lignes. Nous ajoutons un peu de marge, donc il y aura de la place pour les lignes supplémentaires aux extrémités des lignes diagonales:
int margin = 10; // Arbitrary value, modify as desired
int top = 0 + margin;
int bottom = canvas.getHeight() - margin;
int left = 0 + margin;
int right = canvas.getWidth() - margin;
Avec ceux-ci, nous pouvons tirer les lignes facilement:
// Vertical line. X coordinate = center, stretching from "top" to "bottom"
canvas.drawLine(centerX, top, centerX, bottom);
// Horizontal line. Y coordinate = center, stretching from "left" to "right".
canvas.drawLine(left, centerY, right, centerY);
// First diagonal line. Stretching from the top left corner to the bottom right corner.
canvas.drawLine(top, left, bottom, right);
// Second diagonal line. Stretching from the top right corner to the bottom left corner.
canvas.drawLine(top, right, bottom, left);
Maintenant, pour ajouter les petits segments de ligne pour la faire ressembler à une courbe:
int delta = 4; // Arbitrary value, determines how long the small lines will be.
canvas.drawLine(top, left, top + delta, left - delta);
canvas.drawLine(top, right, top + delta, right + delta);
canvas.drawLine(bottom, left, bottom - delta, left - delta);
canvas.drawLine(bottom, right, bottom - delta, right + delta);
Si vous voulez que les courbes soient arrondies, plutôt que forte, vous avez deux options.
Le premier est juste de faire un Image
transparent et le mettre sur la toile. Vous pouvez créer une image d'une ligne courbe et la mettre en miroir pour obtenir les trois autres lignes courbes.
La seconde est d'utiliser Path.cubicTo, mais c'est quelque chose que vous voudrez peut-être essayer plus tard. Il est expliqué en détail au this Stack Overflow answer si vous voulez en savoir plus.
Alors, quelle est la question? – Altoyyr
@Altoyyr Je veux les coordonnées des quatre lignes – CamlX
Donc - vous voulez dessiner 4 lignes? Un du centre du cercle qui monte. Un du centre du cercle qui descend. Un du centre du cercle vers la gauche. Et un du centre du cercle vers la droite. Est-ce exact? –