Je dois être en mesure de faire pivoter une image autour d'un point donné afin que toute partie de l'image apparaissant au centre de mon conteneur soit le centre de rotation.Calcul du centre de rotation après la translation
Pour calculer les points centraux, je suis actuellement juste prenant l'inverse de la traduction appliquée à l'image:
Rotate.CenterX = Translate.X * -1;
Rotate.CenterY = Translate.Y * -1;
Cependant, le calcul actuel j'utilise ne suffit pas car il ne fonctionne pas si l'image a été traduite après en cours de rotation.
Je suis sûr que c'est une fonction trigonométrique assez simple, je ne peux pas penser à ce que c'est!
Vive
Nous avons besoin d'un peu plus d'informations. Comment faites-vous les transformations? Comment votre système de coordonnées se rapporte-t-il à la position de l'image? –
J'utilise les fonctions WPF Transform intégrées pour gérer mes transformations. Fondamentalement, j'ai un TransformGroup qui contient un TranslateTransform, RotateTransform et ScaleTransform (ajouté dans cet ordre). Chacun d'entre eux est mis à jour chaque fois qu'une transition a lieu plutôt que d'ajouter plus de transformations. Jusqu'à présent, j'ai réussi à éviter de faire quoi que ce soit en coordonnées en plus de capturer la position de la souris ici et là ... J'espère que cela aide! –