IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Manipulation de giga image


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut Manipulation de giga image
    Bonjour à tous,

    Je suis en train de créer un jeu d'aventure style point and clique sur navigateur. Il n'est pas question de faire de l'animation dans des décors, mais plus de faire vivre de nombreuses aventures sur des cartes et plans de grandes tailles et très détaillés.

    Pour cela je voudrais afficher des images de grande taille (6000x3000px) dans le navigateur avec un zoom sur la molette de souris. Au zoom mini, l'image s'afficherait en plein écran. Pour les zooms intermédiaires à maximum (deux ou trois niveaux), on pourrait faire des cliqués-glissés sur l'image. Il faut bien penser qu'après, il faut afficher sur l'image des sprites qui eux ne changeraient pas de taille pendant un zoom et garderait toujours la même position sur la carte, quelle que soit sa taille pour indiquer des lieux.

    Je n'ai pas d'expérience en javascript et html5 qui est la seule manière pour créer ce genre de fonctionnalité. Il doit exister un jquery qui propose ce genre de fonctionnalité. Quelqu'un en connaîtrait un qui serait adapté à cela.
    Je ne pense pas qu'utiliser un système style google map serait la bonne solution.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Il existe en effet quelques plugin jquery pour gérer ce genre de cartes
    http://www.jqueryrain.com/example/jquery-map/page/5/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut
    Merci,

    Grace à cette piste, j'ai trouvé ce jQuery.

    http://www.jqueryrain.com/?tD0QO4eg

    Mais je n'arrive pas à le faire fonctionné.

    Par contre j'ai réussi à intégrer celui-ci.

    http://bl.ocks.org/sgruhier/1d692762f8328a2c9957

    Maintenant il ne reste plus qu'à trouver comment remplacer le cercle bleu par une image et créer des bornes au zoom et déplacement.

    Je ne sais toujours pas si cela est adapté.

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Sans un minimum de connaissances c'est peine perdue. Ton second lien bl.ocks.org utilise d3 basée sur SVG, avec V comme vectoriel. Donc pas d'image bitmap...

  5. #5
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    un truc dans ce genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css">
    body{
    background-color:gray;
    }
    #conte{
    cursor:zoom-in;
    height:400px;
    width:500px;
    overflow:hidden;
    position:relative;
    top:20px;
    background-color:white;
    margin:auto;
    border:2px solid;
    border-color:black;
    }
     
    #divim{
    height:400px;background:red;position:relative;left:0px;top:0px
    }
    </style>
    <script>
     
    function dirizoom(e){
     
    		e.preventDefault();
     
    		var delta = e.wheelDelta ? e.wheelDelta/120 : -e.detail/3;
     
    		var val= delta< 0 ? -0.15 : 0.15;
     
    		var elem=document.getElementById('divim');
     
    		var position = elem.getBoundingClientRect();
     
    		var dirle=(elem.offsetWidth/2)-(e.clientX-position.left);
    		var dirto=(elem.offsetHeight/2)-(e.clientY-position.top);
    		var lf=elem.offsetWidth;
    		var rf=elem.offsetHeight;
    		elem.style.width=lf+(lf*val)+'px';
    		elem.style.height=rf+(rf*val)+'px';
    		elem.style.left=elem.offsetLeft-((elem.offsetWidth-lf)/2)+(dirle*val)+'px';
    		elem.style.top=elem.offsetTop-((elem.offsetHeight-rf)/2)+(dirto*val)+'px';
    }
     
    function zoominit(){
     
    		var elmouse=((navigator.userAgent.indexOf("Firefox") != -1) ? 'DOMMouseScroll' : 'mousewheel')
     
    		document.getElementById('divim').addEventListener(elmouse,dirizoom, false);
    }
     
    addEventListener('load',zoominit,false);
    </script>
    </head>
    <body>
     
    <div id='conte'>
    <img src="https://cdn.photographylife.com/wp-content/uploads/2014/06/Nikon-D810-Image-Sample-6-960x641.jpg" id='divim' />
    </div>
     
    </body>
    </html>

  6. #6
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut
    Je suis là pour apprendre.

    Donc avec SVG, on ne peut pas mettre d'image. Il faut que je m'oriente sur autre chose. Merci Sylvain.

    Le truc du genre de ce que propose melka one a certaines bases intéressantes. Merci. Mais il n'y a que le zoom et pas de cliquer-glisser de l'image. Aussi, il y a un problème, car le zoom est influencé par la position du curseur de la souris. Que l'on ne puisse zoomer que quand la sourie est sur l'image pas de problème, mais le zoom déplacement en même temps la position de l'image. Et au bout d'un certain nombre de manipulations, on arrive même à faire sortir l'image du cadre.

    J'ai essayé de modifier le code en remplaçant la taille du cadre par 100% pour être en plein écran et cela se comporte bizarrement.

    Mais cela avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. manipulation de matrice/image
    Par Ronan_ dans le forum OpenCV
    Réponses: 1
    Dernier message: 25/06/2014, 16h54
  2. Visualisation et manipulation d'une image 3DS ?
    Par blackbird1 dans le forum OpenCV
    Réponses: 0
    Dernier message: 30/04/2014, 03h35
  3. [WD14] Manipulation d'une image
    Par Raptor92 dans le forum WinDev
    Réponses: 63
    Dernier message: 28/10/2009, 14h38
  4. Manipuler des fichiers images avec du .NET
    Par zooffy dans le forum ASP.NET
    Réponses: 20
    Dernier message: 15/10/2009, 11h44
  5. manipulation d'une image, comment faire ?
    Par Virgile le chat dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/03/2009, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo