Bonjour,
Dans le cadre d'un développement assez pressant, je dois trouver comment réaliser une rotation d'un objet (polygone, texte ou autre) autour de son centre avec un angle allant de 0 à 360°.
Dans la pratique, cela se résume donc à faire tourner sur eux mêmes divers éléments graphiques.
Or, les membres "rotateFlip" de la classe bitmap ne conviennent pas car limités a des angles spécifiques, et le membre rotateTransform de la classe graphics semble n'offrir des rotations qu'autour du point de coordonnées (0;0), soit le point en haut a gauche de l'image en rotation.
Quelqu'un connaitrait-il donc un moyen d'arriver a générer des rotations telles que je le souhaite (autour du centre de l'objet)? Y-a-t-il des choses a faire avant d'utiliser le rotateTransform afin de choisir un point de rotation soit même?
Pour infos, voici le code actuellement utilisé, pour que vous puissiez voir le résultat que j'obtient actuellement :
Dim b As Bitmap = New Bitmap(100, 100)
Dim g As Graphics = Graphics.FromImage(b)
angle = CSng((angle + 1) Mod 360)
g.RotateTransform(angle)
g.DrawString("TEST", New Font(FontFamily.GenericMonospace, 20, FontStyle.Bold, GraphicsUnit.Pixel), Brushes.Blue, 0, 0)
Me.PictureBox1.Image = b
g.Dispose()
En espérant avoir été clair et avoir une piste,
Cordialement,
KiTe.