ROTATION RAPIDE D'IMAGE

ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023 - 18 mai 2011 à 08:46
trex70 Messages postés 4 Date d'inscription dimanche 11 juin 2006 Statut Membre Dernière intervention 29 mai 2011 - 29 mai 2011 à 23:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53176-rotation-rapide-d-image

trex70 Messages postés 4 Date d'inscription dimanche 11 juin 2006 Statut Membre Dernière intervention 29 mai 2011
29 mai 2011 à 23:09
Il vaut mieux mettre FormSource.Picture=FormSource.image dans la routine de rotation elle même, le controle HScroll étant là que pour la démo certainement appelé à disparaitre. Désolé de ne pas avoir insisté sur scalemode (mais c'était dans le commentaire). Bon code ;)
cs_Nectar108 Messages postés 16 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 22 avril 2013
29 mai 2011 à 06:56
Trex70:
Le système fonctionne correctement maintenant ! Il faut prendre bien soin de parametrer le ScaleMode de la FormSource en VbPixels. Merci encore pour cette source ! Super !
cs_Nectar108 Messages postés 16 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 22 avril 2013
29 mai 2011 à 06:39
Trek70:
Désolé de déranger, mais mon essai n'est pas concluant.
J'ai placé FormSource.Picture=FormSource.image en début de rotation, dans l'évènement HScroll1_Change, juste avant "Rotation HScroll1.Value". J'ai remplacé tous les picture2 par "formsource", pour bénéficier du .Hdc de la form. J'ai supprimer xxx.picture=xxx.image en fin de rotation, mais pas de résultat.
trex70 Messages postés 4 Date d'inscription dimanche 11 juin 2006 Statut Membre Dernière intervention 29 mai 2011
27 mai 2011 à 20:02
Nectar108 : Faire tourner une form completement (bandeau dessus-dessous) ce n'est pas possible. Par contre faire tourner le .picture d'une form avec l'image des controles ça fonctionne. Il faut FormSource.Picture=FormSource.image en début de rotation, resoudre les transmission d'argument (picturebox->form) et supprimer l'instruction xxx.picture=xxx.image à la fin de la rotation (je ne comprends pas pourquoi)
cs_Nectar108 Messages postés 16 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 22 avril 2013
25 mai 2011 à 02:03
Génial, c'est génial !
Merci pour cette source. J'avoue que je cherchais depuis longtemps quelque chose de similaire. Le code est simple, clair et très efficace.
Mon défi étais de faire une rotation avec une form, et bien que toutes les manipulation se font avec le hdc d'un objet, le code ne plante pas si je remplace l'objet "picture" par un objet "form", mais le résultat est négatif. Je continue mes recherches, mais en attendant chapeau pour cette présentation !
Encore merci. Nectar108
trex70 Messages postés 4 Date d'inscription dimanche 11 juin 2006 Statut Membre Dernière intervention 29 mai 2011
24 mai 2011 à 11:21
Le .frx est créé automatiquement par VB pour initaliser les controles graphiques. En mode 'création' si vous déplacez à la souris Picture2 qui est le controle visible, vous trouverez l'image initiale dessous dans Picture1 (c'est dit dans le commentaire). Donc pour charger une de vos images, utilisez la propriété '.picture' de Picture1, soit en mode création, soit à l'éxécution avec la methode picture1.LoadPicture (".. path de l'image à charger.."). Il faut utiliser l'aide de VB, il y a plein d'infos dedans :)
XForm est la combinaison d'une matrice 2x2 et d'un vecteur de translation. Ce qui veux dire que l'on peut s'en servir dans des rotations, translations, symetries et homothéties, mais rien d'autre. Pour des traitements math plus sophistiqués (filtrage, convolution) il faudra soit les écrire en VB et apprendre la patience (pour de grandes images, ça peut prendre des heures de traitement) soit trouver ou écrire une .dll en Delphi ou en C.
cs_chatou Messages postés 6 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 4 janvier 2012
24 mai 2011 à 10:27
Très utile .J'espère aussi que vous aurez l'envie de nous montrer les transformations de symétrie et si vous en avez la passion ,des transformations plus " mathématiques" encore.L'intérêt de votre programme étant sa rapidité d'exécution .

Question de débutant néanmoins :comment faire pour introduire une image personnelle?
Je suppose que l'image par défaut est stockée dans .frx ?
Comment un débutant ,que je suis, "fabrique t'il une image .frx
Merci
patriceB2 Messages postés 10 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 17 novembre 2011
23 mai 2011 à 14:30
Effectivement bien vu !! Codification performante. J'avais un à priori pour le traitement d'image en VB, j'ai essayé avec un Timer pour tester la fluidité. La rotation est très fluide! Note 10/10 largement méritée..... J'espère que vous trouverez vite ce moment libre!
Patrice
trex70 Messages postés 4 Date d'inscription dimanche 11 juin 2006 Statut Membre Dernière intervention 29 mai 2011
18 mai 2011 à 14:47
Merci du compliment. Avec les XForms on peut faire plein d'autres choses (mise à l'echelle, translation, symetrie..etc) avec une très bonne vitesse d'éxecution. Dès que j'ai un moment je posterai un truc plus complet
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
18 mai 2011 à 08:46
Bien Joué, Voila un source qui ne laisse pas de marbre. Evidemment pour avoir le tablo bitmap faut creuser un peu mais c'est bien vu. Une routine pour faire une rotation d'image correcte en choisissant le centre ca ne court pas les rues. Bravo
Rejoignez-nous