Je voudrais afficher des données X/Y sur une toile en utilisant des lignes d'une certaine largeur (en pixels, ou "dp" idéalement). J'ai essayé la méthode setStrokeWidth (..) de Paint, et cela change effectivement la largeur de la ligne mais ce n'est pas ce dont j'ai besoin. Dans mon cas, j'ai redimensionné mon canevas en «unités d'ingénierie réelles» en utilisant matrix.preScale (xScale, yScale) de sorte que l'échelle X représente 0 à 100 et Y est 0 à 1. La méthode setStrokeWidth() de l'objet Paint semble pour définir le trait de sorte qu'il suive les paramètres de ma matrice preScale(). En d'autres termes, les lignes horizontales sont très minces et les lignes verticales sont vraiment épaisses.Tracer une ligne avec une certaine largeur de pixel
Existe-t-il un moyen de configurer la peinture de sorte que quelle que soit la direction dans laquelle la ligne est dessinée, sa largeur est un nombre cohérent de pixels?
J'ai essayé de définir un dessin qui est une ligne et de créer un ShapeDrawable à partir de cela, puis de l'appliquer à la peinture, mais rencontré de vilaines erreurs de casting de classe au moment de l'exécution. Cela m'a fait penser que c'était la mauvaise façon de s'y prendre. Mais peut-être que j'ai abandonné trop tôt. Je comprends qu'un certain nombre de paquets de traçage/cartographie Android sont disponibles, certains avec la source, mais je cherche vraiment à comprendre la plate-forme ici, plutôt que d'utiliser une solution tierce.
Merci pour tous les conseils! Rich
Question bien libellée. Je ne sais pas, mais bonne chance. –
Je pense que vous ne devriez pas utiliser la matrice pour l'adaptation de votre unité. Chaque opération de dessin utilise généralement le même pipeline qui finit avec une forme qui est ensuite transformée et pixellisée. Ainsi, une matrice modifiée influence le résultat final de toute opération de dessin, déformant ainsi le trait si des unités d'axe différentes sont utilisées. Donc, pour tracer le bon chemin serait de mettre à l'échelle vos coordonnées comme vous le souhaitez avant de passer aux méthodes de peinture android. Sinon, vous seriez incapable de dessiner des lignes et du texte corrects. – dronus
@dronus OK, un conseil judicieux. Merci pour ça. Je soupçonnais que j'aurais besoin d'éviter la matrice pré-échelle, mais espérais qu'il pourrait y avoir un moyen de profiter de cette mise à l'échelle très utile. – Rich