begin process at 2012 05 28 14:44:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > ROTATION D'UNE IMAGE, ANIMATION

ROTATION D'UNE IMAGE, ANIMATION


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :Image, Rotation, Animation, HTML5 canvas, Javascript Niveau :Débutant Date de création :29/08/2011 Vu / téléchargé :5 133 / 486

Auteur : william voirol

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Voici un tout petit code qui permet de faire tourner une image en animation.

Depuis quelques années, HTML5 a introduit l'élément "canvas" qui convient pour la représentation graphique et qui contient un système de transformations 2D complet.
Mais il faut donc utiliser un navigateur "à jour" pour tester ce programme.

Initialement, on introduit une translation de la moitié des dimensions de l'image pour y déplacer l'origine (du système de coordonnées).
Ensuite, à chaque étape, on fait une petite rotation (autour de cette nouvelle origine).
L'image doit être centrée (par rapport à la nouvelle origine).

Source

  • <!DOCTYPE html>
  • <html>
  • <head>
  • <title>Rotation d'une image, animation</title>
  • <script type="text/javascript">
  • //<![CDATA[
  • var cv,ctx,tmr,ima=new Image(),W=400,H=400; // dimensions de l'image
  • var k,n=240,a=Math.PI/n; // n: nombre de pas pour faire un demi-tour
  • var ap="Cliquez pour voir 'après'",av="Cliquez pour voir 'avant'";
  • function Drw() {
  • ctx.rotate(a); ctx.drawImage(ima,-W/2,-H/2,W,H);
  • if (++k>=n) {clearInterval(tmr); cv.title=((a=-a)>0)?ap:av;}
  • }
  • function Ini() {
  • cv=document.getElementById('cv'); cv.width=W; cv.height=H; cv.title=ap;
  • ctx=cv.getContext('2d'); ctx.translate(W/2,H/2);
  • ima.onload=function() {ctx.drawImage(ima,-W/2,-H/2,W,H);}
  • ima.src='img.jpg';
  • }
  • function Clk() {k=1; tmr=setInterval('Drw()',20);}
  • //]]>
  • </script>
  • </head>
  • <body style='background-color:#BBBBBB;' onload='Ini()'>
  • <canvas id='cv' onclick='Clk()' style='cursor:pointer'>
  • Your browser does not support HTML5 canvas
  • </canvas>
  • <div>
  • Cliquez pour tourner l'image.<br/><br/>
  • <a href='http://www.william-voirol.ch/Prog/Transformations/RotImage.zip'>
  • Zip du code
  • </a>
  • </div>
  • </body>
  • </html>
<!DOCTYPE html>
<html>
<head>
  <title>Rotation d'une image, animation</title>
  <script type="text/javascript">
  //<![CDATA[
    var cv,ctx,tmr,ima=new Image(),W=400,H=400; // dimensions de l'image
    var k,n=240,a=Math.PI/n; // n: nombre de pas pour faire un demi-tour
    var ap="Cliquez pour voir 'après'",av="Cliquez pour voir 'avant'";
    
    function Drw() {
      ctx.rotate(a); ctx.drawImage(ima,-W/2,-H/2,W,H);
      if (++k>=n) {clearInterval(tmr); cv.title=((a=-a)>0)?ap:av;}
    }
    function Ini() {
      cv=document.getElementById('cv'); cv.width=W; cv.height=H; cv.title=ap;
      ctx=cv.getContext('2d'); ctx.translate(W/2,H/2);
      ima.onload=function() {ctx.drawImage(ima,-W/2,-H/2,W,H);}
      ima.src='img.jpg';
    }
    function Clk() {k=1; tmr=setInterval('Drw()',20);}
  //]]>
  </script>
</head>
<body style='background-color:#BBBBBB;' onload='Ini()'>
  <canvas id='cv' onclick='Clk()' style='cursor:pointer'>
    Your browser does not support HTML5 canvas
  </canvas>
  <div>
    Cliquez pour tourner l'image.<br/><br/>
    <a href='http://www.william-voirol.ch/Prog/Transformations/RotImage.zip'>
      Zip du code
    </a>
  </div>
</body>
</html>

 Conclusion

Faites directement un test: (observez la remarque ci-dessous)
    http://www.william-voirol.ch/Prog/Transformations/ RotImage

Remarque: de temps en temps, des espaces (caractères blancs) s'immiscent
dans certains textes. (CodeS-SourceS est au courant du problème).
Si c'était le cas ici, enlevez les espaces avant d'utiliser l'adresse Web ci-dessus.

L'exemple complet se trouve sur le fichier zip.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME D'ÉQUATIONS LINÉAIRES À N INCONNUES
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES
Source avec Zip DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE
Source avec Zip FRACTALES, FOUGÈRE, TRIANGLE, CARRÉ

 Sources de la même categorie

Source avec Zip JDMATH-MINI.JS : GÉNÉRATION D'EXPRESSION MATHÉMATIQUE par jdmcreator
Source avec une capture SPHERE 3D DÉFORMABLE par phm
Source avec Zip Source avec une capture EFFET DE ROTATION A 360° D'IMAGE AVEC ACCELERATION DECELERAT... par kazma
Source avec Zip Source avec une capture PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVAS par kazma
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111

 Sources en rapport avec celle ci

Source avec Zip FRACTALES, FOUGÈRE, TRIANGLE, CARRÉ par william voirol
Source avec Zip FRACTALES, ÉPONGE 3D DE SIERPINSKI-MENGER par william voirol
Source avec Zip FRACTALES, COURBE DE HILBERT par william voirol
Source avec Zip FRACTALES, COURBE DU DRAGON par william voirol
Source avec Zip FRACTALES, FLOCON DE KOCH par william voirol

Commentaires et avis

Commentaire de HACKANDROID le 30/08/2011 21:32:19 4/10

Bonjours,

Bon codes sources.
C'est pas mal... Continue!

Commentaire de 9uigui le 05/09/2011 08:11:21 9/10

Clair net et précis !
Tu as raison, c'est un petit bout de code, mais c'est une belle brique qui servira à monter une multitude d'édifices.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Faire une ROTATION d'une image avec HTML ou JAVASCRIPT ? [ par maxxcbenny ] Bonjour,Quelqu'un connait-il le moyen de faire subir une rotation à une image dans un navigateur web ? Avec un angle libre de 0° à 360° évidement ?Par afficher un menu ou une image sur passage de la souris [ par Prototype51 ] Bonjour à tous, Je suis en train de créer mon premier site, conçu principalement en PHP. Jusqu'à présent j'ai réussi à tout faire grâce à PHP, je n'ai mouvement images en Javascript [ par kartoon ] Bonjour,J'ai plusieurs cas de figure&nbsp; et de faire la plus r&#233;alisable :Je voudrais&nbsp; avoir le moyen de pouvoir intervertir des images (3) appeller une script [ par poitierjohan ] Bonjour,Est-il possible d'appeller un script (&#233;crit en JavaScript) qui est en dehors de ma page hmtl??Autrement dis, que&nbsp;ma page web dans la Afficher une Image d'un odinateur distant [ par aline_ediark ] Bonjour &#224; tous,Voila j'ai un petit probl&#232;me en javascript,Je voudrai afficher une image en javascript (et uniquement en javascript),Cependan Javascript PHP et images popup [ par amewole ] Voici mon probl&#232;me : J'affiche dans une page html/php une dizaine de photos dans un tableau HTML et je veux que quand on clique sur&nbsp; une ima Problème chargement image javascript [ par Travailleuuse06 ] Bonjour,je suis devant un très gros problème que je n'arrive pas à résoudre. J'ai une page html où j'ai un &lt;img src="image"&gt;Dans ma partie jav Visite virtuelle 360 & javascript [ par stfrouille ] Bonjour,ou plutot bonsoir ....J'ai pour projet de réaliser une visite virtuelle à partir d'image 360°, avec déplacement à la souris et tout le tralala Transformer les images d'un compteur en texte [ par Fran6web ] Bonjour à tous,Etant super nul en javascript, j'aurais besoin de votre aide.En effet j'ai réussi à trouvé sur le net un merveilleux script qui me perm Recherche Animation d'image-effet brouillard [ par fogco ] Je recherche un script &#224; int&#233;grer dans une page html pour donner une impression (anim&#233;e) de brouillard ou brumisation&nbsp;sur une phot


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,824 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales