Rotation d'une image a l'angle voulu !

Soyez le premier à donner votre avis sur cette source.

Vue 6 767 fois - Téléchargée 1 209 fois

Description

pour faire tourner votre image tres facilement avec le nivo de precision voulu !

Source / Exemple :


Private Sub Command1_Click()
Rotation Picture1, Picture2, 90, 10 'apeller du sub| picture1 = image a tourner, picture2= image de fin, 90 = la rotation en degrer, 10 la precision
End Sub

Sub Rotation(Picture1 As PictureBox, Picture2 As PictureBox, Angle As Long, Precision As Long)
Picture1.AutoRedraw = True
Picture2.AutoRedraw = True
r = Atn(1) * 4 / 180
If Picture1.Width > Picture1.Height Then
Picture2.Width = Picture1.Width + (Picture1.Width / 2)
Picture2.Height = Picture1.Width + (Picture1.Width / 2)
Else
Picture2.Width = Picture1.Height + (Picture1.Height / 2)
Picture2.Height = Picture1.Height + (Picture1.Height / 2)
End If
centrex1 = Picture1.ScaleWidth / 2
centrey1 = Picture1.ScaleHeight / 2
centrex2 = Picture2.ScaleWidth / 2
centrey2 = Picture2.ScaleHeight / 2
For y = 0 To Picture1.ScaleHeight Step Precision
For x = 0.0001 To Picture1.ScaleWidth Step Precision
p = Picture1.Point(x, y)
wx = x - centrex1
wy = y - centrey1
a = Atn(wy / wx) / r + Angle
If x > centrex1 Then a = a + 180
t = Sqr(wx * wx + wy * wy)
DoEvents
rx = centrex2 - Cos(a * r) * t
ry = centrey2 - Sin(a * r) * t
Picture2.PSet (rx, ry), p
Next
Next
End Sub

Conclusion :


et voila soyer simpa et laisser des commentairessssssssss ;-) :-) !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_yahaa Messages postés 15 Date d'inscription vendredi 17 septembre 2004 Statut Membre Dernière intervention 11 mai 2007
18 mai 2007 à 13:23
Pour ceux qui utiliseraient encore cette source, sacher qu'une API Windows est là pour faire ce travail. Et elle est quasi instantanée, donc s'il vous plait, n'utiliser pas ce genre de code, ne soyez pas si cruel avec votre machine.
L'API s'appel PlgBlt, vous trouverez toutes les infos dessus sur le net. Elle déforme n'importe quel rectangle en parallélogramme ( la rotation est un cas particulier d'une telle transformation ). Un petit calcul sinus,cosinus vous permetra facilement de trouver les paramêtres à lui envoyer.
titilleuse Messages postés 1 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 27 janvier 2004
27 janv. 2004 à 11:19
Merci pour cette source, c'est exactement ce que je cherchais !
et avec les optimisations, c'est nickel !
oeildedinde Messages postés 29 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 janvier 2013
4 août 2003 à 20:15
Salut en virant le doevents ,encore plus rapide
Gadot Messages postés 7 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 8 novembre 2002
19 nov. 2002 à 13:00
Code interressant qui peut être optimisé en suprimant AutoRedraw sur Picture 1 et 2. Cela rend l'affichage beaucoup plus rapide (cela reste cependant encore bien lent ...)
Merci pour cette source.
Gadot
intello2001 Messages postés 102 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 9 septembre 2003
23 mai 2002 à 18:02
merci (long mais efficasse !!!)
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.