Accueil > > > ROTATION D'UNE IMAGE EN SON CENTRE
ROTATION D'UNE IMAGE EN SON CENTRE
Information sur la source
Description
la fonction G.RotateTransform est très pratique pour faire tourner une image mais a le defaut d'utiliser le coin supérieur gauche de l'image que l'on veut faire tourner. Moi, je veux faire tourner l'image par rapport à son centre. Donc, je me replonge dans mes cours de géométrie, et voilà comment on fait tourner une image par rapport à son centre.
Source
- Function Rotation(ByVal AngleDegre As Integer)
-
- Dim G As Graphics
-
- 'on mémorise la longueur de l'image
- 'je pars de l'hypothèse que j'utilise une image carré
- Dim Largeur As Integer = PictureBox1.Image.Width
- Dim Hauteur As Integer = PictureBox1.Image.Height
-
- 'on mémorise l'image présente dans la picture box
- Dim IMG = PictureBox1.Image
-
- 'définition de la picturebox comme espace de dessin
- G = PictureBox1.CreateGraphics()
-
- 'on efface
- G.Clear(Me.BackColor)
-
- 'on transforme l'angle en radians
- Dim Angle As Double = AngleDegre / 180 * Math.PI
-
- 'on calcule les nouvelles coord X et Y de l'image
- Dim PosX As Single = Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 + Angle / 2)
- Dim PosY As Single = -Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 - Angle / 2)
-
- 'on fait la rotation
- G.RotateTransform(AngleDegre)
-
- 'on dessine l'image rotée aux nouvelles coordonnées
- G.DrawImage(IMG, PosX, PosY, Largeur, Hauteur)
-
- 'on libère !
- G.Dispose()
-
- End Function
Function Rotation(ByVal AngleDegre As Integer)
Dim G As Graphics
'on mémorise la longueur de l'image
'je pars de l'hypothèse que j'utilise une image carré
Dim Largeur As Integer = PictureBox1.Image.Width
Dim Hauteur As Integer = PictureBox1.Image.Height
'on mémorise l'image présente dans la picture box
Dim IMG = PictureBox1.Image
'définition de la picturebox comme espace de dessin
G = PictureBox1.CreateGraphics()
'on efface
G.Clear(Me.BackColor)
'on transforme l'angle en radians
Dim Angle As Double = AngleDegre / 180 * Math.PI
'on calcule les nouvelles coord X et Y de l'image
Dim PosX As Single = Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 + Angle / 2)
Dim PosY As Single = -Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 - Angle / 2)
'on fait la rotation
G.RotateTransform(AngleDegre)
'on dessine l'image rotée aux nouvelles coordonnées
G.DrawImage(IMG, PosX, PosY, Largeur, Hauteur)
'on libère !
G.Dispose()
End Function
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
rotation d'une image dans un Picturebox [ par David ]
Recherche solution pour effectuer une rotation dans un angle voulue d'image contenue par un PictureboxMerci d'avance
**ROTATION D'UNE IMAGE** [ par Gabriel ]
Bonjour,comment faire une rotation sur une image (pas seulement 90 degrés mais quelque chose comme 45 degrés, 67, 12, ...)MERCI
URGENT : ROTATION D'IMAGE !!!! [ par penouille.51 ]
Salut,J'ai absolument besoin de faire des rotations d'image (90°).Existe-t-il une commande rapide pour faire ca (sans être obligé de créer une nouvell
Rotation d'image????? [ par fabrice88 ]
est-il possible en vb de faire un rotation d'image???la question a déja été poser mais pas de reponses..:(
rotation d'image dans un picture Box [ par tintin ]
La question a déja été posée, mais aucune réponse efficace n'a été donnée. C'est pourquoi je me permet de reposer la question.J'ai essayer la solution
Rotation rapide d'image dans picturebox [ par Anthomicro ]
Bonjour,j'aimerais faire des rotations à l'angle voulu rapidement sur de grandes images ( 800 x 600 au moins )J'ai deja essaye PSC mais les codes ne f
directx rotation d'une image en 2d [ par smoron ]
Salut!j'affiche une image avec directx et j'aimerais pouvoir lui faire effectuer une rotation!j'ai cherché des codes mais en vain car tombant souvent
Controle image avec rotation [ par domenico ]
SalutJ'ai développé une application affichant un grand nombre d'image selon un angle donné.J'ai utilisé un code source de rotation d'image issu de vbf
Rotation d'une image sous excel vba [ par bs51 ]
BEBERT51Bjr je cherche un moyen d'effectuer une rotation d'une image sous excel ou par prog en vba.Par pas de 90° Merci
Image visible par rotation [ par svinar ]
Je cherche à faire qu'une image soit visible seulement en partie depuis le milieu(comme une aiguille de montre), pour que cette image fasse comme une
|
Derniers Blogs
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|