Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ROTATION (RAPIDE) DE BITMAP (À 360°) EN PUR GDI


Information sur la source

Catégorie :Graphique Classé sous : Rotation, Angle, PlgBlt Niveau : Débutant Date de création : 25/02/2008 Date de mise à jour : 25/02/2008 14:19:33 Vu / téléchargé: 3 644 / 351

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Exemple simple de rotation de bitmap en pur GDI

Ceci est possible grâce à l'utilisation de la fonction PlgBlt

Le code est assez simple et commenté ... juste ce qu'il faut ;-)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

25 février 2008 14:19:33 :
Ajout de capture d'écran

Commentaires et avis

signaler à un administrateur
Commentaire de Caribensila le 25/02/2008 15:13:07

Salut,

J'aurais bien aimé disposer de ce source quand je faisais mon "cube tournant".
Ca m'aurait évité d'utiliser le l'asm sans rien y connaître. :)

Bravo Cirec!

signaler à un administrateur
Commentaire de Caribensila le 25/02/2008 16:16:31

Oué!
Et puis 'faudrait que ça tourne selon les 3 axes avec un verso pour simuler une feuille de platane virevoltant dans le vent d'automne...
Merci Cirec.  

lol

signaler à un administrateur
Commentaire de cirec le 25/02/2008 17:52:49 administrateur CS

ha ha ha ...

prenez un ticket ... et faites la queue ... lolll

Plus sérieusement,

pour mettre tout ça dans une fonction ... c'est pas un problème
pour choisir le centre de rotation ... c'est pas un problème
pour une rotation sur 3 axes ... c'est pas un problème (si Francky passe par ici il pourra le confirmer) j'avais fait il y a déjà longtemps de cela un cube avec 6 faces différentes qui tournait sur 3 axes.

par contre en ce qui concerne l'anti-aliasing je ne me suis jamais penché sur le problème

Je me suis efforcé à faire une source aussi simple que possible (à la portée de tous) et vous me demandez juste l'inverse ^^

Merci pour vos appréciations.

signaler à un administrateur
Commentaire de DRJEROME le 26/02/2008 14:49:04

Bonjour

oui dans les fonctions GDI

il y a

"PlgBlt" et aussi "SetWorldTransform"


il y a un exemple que j'ai fait, si vous voulez le voir en tapant "JROD SetWorldTransform" sur google

A+

drjerome JROD

signaler à un administrateur
Commentaire de Debiars le 04/03/2008 14:16:47

Salut Cirec,
Moi, j'aimerai bien récupérer dans un fichier le bitmap dans sa nouvelle position... Tel quel, je ne récupère qu l'image d'origine.

Même réfexion à drjerome qui en plus me rogne des parties d'image.

Cela me servirait bien pour redresser de quelques degrés des images scannées de traviole.

Pour la vitesse d'exécution, y a rien à dire, c'est --->

jp ofBiars

signaler à un administrateur
Commentaire de cirec le 04/03/2008 14:28:26 administrateur CS

@Debiars:

je ne suis pas certain d'avoir bien compris ta demande.

Tu aimerais pouvoir enregistrer l'image dans une position (après rotation)

Dans ce cas :
Il faut savoir que peut importe l'angle de rotation

PntArray[0]  <----- représente le coin supérieur gauche de l'image
PntArray[1]  <------ représente le coin supérieur droit de l'image
PntArray[2] <------ représente le coin inférieur gauche de l'image

le coin inférieur droit est calculé automatiquement par PlgBlt


Donc en créant un Bitmap et en lui donnant des dimmensions suffisante (pour ne pas tronquer l'image) tu peux afficher/enregistrer le résultat avec :

PlgBlt(BMPDest.Canvas.Handle, PntArray, BMP.Canvas.Handle, 0, 0, BMP.Width, BMP.Height, 0, 0, 0);

signaler à un administrateur
Commentaire de informatixo le 13/11/2008 22:48:13

Merci beaucoup pour cette source qui est bien commentée et bien codée.

Je me tente à mettre une note car je vois que personne ne l'a encore fais. Je te mets 9 / 10 pour ne pas mettre 10 / 10.

J'apprécie particulièrement la clarté du code et la vitesse d'exécution de la rotation. Je ne connaissais pas PlgBlt mais je l'a place dans un coin de ma tête.

Merci et bonne continuation à tous.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

rotation quelle est la formule pour une rotation? [ par zibong ] Bonjourjaimerai conetre le formule qui me permetrait de conaitre les coordoné d'un point apré sa rotation lancer une balle [ par ptifranfran ] Je suis en train de r&#233;aliser un petit jeu o&#249; un joueur doit lancer une balle. Il doit entrer l'angle de tir et la vitess. J'aimerai que cett Rotation d'une image [ par petitripol ] Bonjour tout le monde!&nbsp;&nbsp;&nbsp;Ca fait 1 heure que je cherche un peu partout pour savoir comment on pourrait faire pour faire tourer une imag Calcul d'un angle [ par akhria ] Salut, je cherche &#224; calculer l'angle d'un vecteur vitesse &#224; partir de la norme de cette vitesse et de ces coordonn&#233;es...mais ArcTan et Utiliser CANVAS.arc à partir d 'un centre de cercle, rayon et angle de départ et d'arriver [ par snipersolo ] Bonjour a tous!J'en fais appel a vous apr&#232;s presque 5h de recherche.Toujours ces probl&#232;mes avec la fonction CANVAS.arc...Je cherche &#224; e Rotation [ par potate ] Donc voil&#224;, &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; je suis en train de cr&#233;er un jeu et celui-ci comporte pour l'instant un objet qui se d&#233;pla probleme arctan [ par Enos ] Enosbonjours,J'ai un probleme de calcul d' angle. Si je prend la formule suivante :angle=arctan[(sommet1-sommet2)/(hauteur*2) , le resultat est correc faire tourner un composant image sur 360° [ par mighty_warrior ] Bonjours,Je suis débutant et je cherche à savoir comment entrainer un composant Timage en rotation sur 360° dont le centre de rotation peut être chois Rotation d'une image par rapport a l'origine [ par hasen ] Bonjour a tous!Pour un projet, je suis en train de coder une fonction permettant la rotation d'une image (tres basique, définie par quelques point seu Shape Rotation ??? [ par MiniProgramer ] Salut j ai essayée cet tutoriel de faire une Rotation de ma Bitmap mais sa ne marche pas bienL'angle reste toujours 0 Gard !!!Source ici


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.