Comment faire pivoter un rectangle dessiné sur la toile dans Android?
Je dessine un texte sur android toile en utilisant le morceau de code suivant
Rect rect = new Rect();
paint.getTextBounds(text, 0, text.length(), rect);
canvas.translate(xPosition + position.getX(), yPosition + position.getY());
paint.setColor(Color.BLUE);
paint.setStyle(Style.STROKE);
canvas.drawRect(rect, paint);
paint.setStyle(Style.FILL);
paint.setColor(text_color);
canvas.translate(-(xPosition + position.getX()), -(yPosition + position.getY()));
canvas.rotate(getDegreesFromRadians(angle), xPosition + position.getX() + rect.exactCenterX(), yPosition + position.getY() + rect.exactCenterY());
canvas.drawText(text, xPosition + position.getX(), yPosition + position.getY(), paint);
Ce code prend en charge la rotation du texte et il fonctionne très bien. Je suis le dessin d'un rectangle bleu le texte à l'aide du code ci-dessus. Maintenant, mon problème est que le rectangle n'est pas en rotation avec le texte. Il reste toujours la même. Est-il possible de faire pivoter le rectangle dessiné dans android toile?
OriginalL'auteur Antrromet | 2012-10-24
Vous devez vous connecter pour publier un commentaire.
veuillez utiliser
que vous avez à compenser pour chaque rotation par la suite
OriginalL'auteur NikkyD
J'ai trouvé ma réponse. J'ai utilisé le code suivant
Le truc, c'est l'ensemble de la toile est en rotation pour faire pivoter le texte. Donc j'ai juste besoin de dessiner le rectangle après la rotation de la toile.
Hey @NirmalPrajapat m'est arrivé sur votre question et avoir une réponse rapide, je peux vous donner copié de travail que j'ai fait précédent, espérons que cela est utile: les Maths.toDegrees(Math.atan2(y - sdo.y, x - sdo.x)) + 40 ...où x et y sont les toucher emplacement (j'ai utilisé une poignée de superposition sur le graphique), sdo est l'image bitmap en rotation et le x et le y de qui est le centre de l'image, et le 40 constante, c'est l'angle d'où mon faites glisser la poignée sur le haut du graphique, c'est à dire: le point de départ.
Merci @ZengoTim , mais j'ai résolu 🙂
OriginalL'auteur Antrromet