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

HTML Discussion :

Map zone sensible contour avec couleur


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut Map zone sensible contour avec couleur
    Bonsoir à tous,

    Je galère depuis ce midi à trouver comment mettre un contour avec une épaisseur et une couleur sur une zone sensible d'une map tout en faisant clignoter ce contour.

    Ceci afin de montrer à l'utilisateur où il doit cliquer sur la map.

    Pour l'instant, je n'ai réussi qu'à faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <map name="testmap">
    	<area shape="rect" coords="50,50,70,70">
    </map>
    <img src='Img/6074_010.png' id="myImgId1" border="0" usemap="#testmap" alt="Exemple balise MAP">
    Merci de bien vouloir m'aider

    Cordialement

    Christophe

  2. #2
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut
    Bonjour Muchos,

    Merci pour ce lien qui est interessant.
    Toutefois, cela ne convient à mon objectif du fait que c'est une image qui vient par dessus une autre image.

    En effet, je vais avoir plusieurs images avec des zones sensibles de différentes tailles et à différents emplacements.

    L'idéal serait donc de pouvoir dessiner directement sur l'image.

    Cela dit, comme il n'y a pas très longtemps que je fais du HTML et encore moins de temps que je fais du JavaScript, je n'ai peut être pas tout compris dans le lien que tu m'as donné.

    Je vais continuer à étudier cela, j'y ai peut être la solution, finalement.

    Je reste malgré tout ouvert à toute idée.

    Merci à tous

    Cordialement

    Christophe

  4. #4
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut
    Bonsoir à tous,

    Je me permets de relancer ce sujet car j'avance timidement et je crois que j'arrive aux limites de mes maigres compétences. L'utilisation de canvas semble être la solution mais j'ai encore quelques problèmes.

    Voici donc mon bilan :

    Entête de document :
    Classe CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <style type="text/css">
    .centerpicture{
            text-align: center;
            margin : 30px 0px 30px 0px;
    }
    </style>
    Fonctions javascript :
    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
    <script type='text/javascript'>
    function rectangle(img,pcanvas,parea){
            //Nouvelle image
            var imgselect = new Image();
            //Source de l'image
            imgselect.src=img.src;
            //Déclare l'ojet emprise
            var canvas = document.getElementById(pcanvas);
            //Déclare l'objet area du map
            var areas = document.getElementById(parea);
            //Création d'un tableau
            var splitcoord = new Array();
            //Mémorise dans le tableau les coordonnées de la zone sensible
            splitcoord = areas.coords.split(',');
            //Largeur de l'emprise canvas (égale à l'image de fond)
            canvas.width=imgselect.width
            //Hauteur de l'emprise canvas (égale à l'image de fond)
            canvas.height=imgselect.height
            //Dessin en 2D
            var context = canvas.getContext("2d");
            //On commence un nouveau dessin
            context.beginPath();
            //Couleur des traits
            context.strokeStyle="blue";
            //Epaisseur des traits
            context.lineWidth="2";
            //Dimensions du polygone zone sensible
            context.rect(splitcoord[0],splitcoord[1],splitcoord[2],splitcoord[3]);
            //Emprise temporaire (juste pour vérifier que le canvas = l'image de fond)
            context.rect(0,0,canvas.width,canvas.height);
            //Application  du dessin
            context.stroke();
    }
     
    function mousehand(thisId){
            //Curseur main sur la zone sensible
            document.getElementById(thisId).style.cursor='hand';
    }
     
    function mousedefault(thisId){
            //Curseur normal hors de la zone sensible
            document.getElementById(thisId).style.cursor='default';}
    </script>
    Dans le BODY :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div style="position:absolute" class=centerpicture><!--style="width:500px;height:50px;">-->
    	<map name="map1">
    		<area id="area1" onmouseover="javascript:mousehand('id6074')" onmouseout="javascript:mousedefault('id6074')" shape="rect" coords="50,50,100,100"/>
    	</map>
    	<canvas id="canvas1" border="1">
    </div>
     
    <div class=centerpicture>
    <img src="Img/6074_010.png" id="id6074" border="1" onload="javascript:rectangle(this,'canvas1','area1')" usemap="#map1" alt="Exemple balise MAP" >
    </div>
    Mes 2 problèmes restants sont les suivants :
    Du fait que je n'utilise pas de href dans le area, je n'ai pas de curseur main sur la zone sensible. D'où les fonctions pour le curseur main et normal. Toutefois, le fait d'avoir <!DOCTYPE html> dans l'entête du document empêche ces 2 fonctions de fonctionner (sans vouloir faire de jeu de mots )
    Second problème, mon canvas se place bien en vertical mais pas en horizontal.

    Si quelqu'un pouvait aider un pauvre débutant à finaliser ce projet, ce serait avec grand plaisir.

    Merci beaucoup

    Cordialement

    Christophe

Discussions similaires

  1. [AC-97] Zone de Liste avec couleur sur les lignes
    Par Dewey12 dans le forum IHM
    Réponses: 3
    Dernier message: 07/10/2011, 16h42
  2. logo avec lien s'affichant avec un contour en couleur !?
    Par pascalb45770 dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 07/01/2011, 09h20
  3. Réponses: 2
    Dernier message: 23/10/2009, 11h55
  4. zone de liste avec aperçu couleur
    Par estebandelago dans le forum IHM
    Réponses: 4
    Dernier message: 08/06/2007, 15h16
  5. Zone de liste avec 2 couleurs differentes
    Par uloaccess dans le forum Access
    Réponses: 2
    Dernier message: 02/11/2005, 17h10

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