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 :

dessinner une droite sur une image


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut dessinner une droite sur une image
    Bonjour j'utilise drawline pour dessiner des droite dans le body de site. L'idée est de cliquer sur l'écran deux fois pour tracer les droites entre deux points mais le problème se pose lorsque ma droite traverse une image, la partie de la droite qui traverse l'image devient alors invisible car masquée par l'image alors que je veux justement que la droite soit visible par dessus l'image: voici la fonction de dessin
    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
    function drawLine(x1,y1,x2,y2,color,espacementPointille,divId)
    {
    	if(espacementPointille<1) { espacementPointille=1; }
     
    	//on calcule la longueur du segment
    	var lg=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
     
    	//on determine maintenant le nombre de points necessaires
    	var nbPointCentraux=Math.ceil(lg/espacementPointille)-1;
     
    	//stepX, stepY (distance entre deux points de pointillés);
    	var stepX=(x2-x1)/(nbPointCentraux+0);
    	var stepY=(y2-y1)/(nbPointCentraux+0);
     
    	//on recreer un point apres l'autre
    	var strNewPoints='';
    	for(var i=1 ; i<nbPointCentraux ; i++)
    	{
    		strNewPoints+='<div style="font-size:1px; width:1px; height:1px; background-color:'+color+'; position:absolute; top:'+Math.round(y1+i*stepY)+'px; left:'+Math.round(x1+i*stepX)+'px; ">&nbsp;</div>';
    	}
     
    	//pointe de depart
    	strNewPoints+='<div style="font-size:1px; width:3px; height:3px; background-color:'+color+'; position:absolute; top:'+(y1-1)+'px; left:'+(x1-1)+'px; ">&nbsp;</div>';
    	//point d'arrive
    	strNewPoints+='<div style="font-size:1px; width:3px; height:3px; background-color:'+color+'; position:absolute; top:'+(y2-1)+'px; left:'+(x2-1)+'px; ">&nbsp;</div>';
     
     
    	//on suprimme tous les points actuels et on mets les nouveaux div en place
    	//obj container des points
    	var myContainer=document.getElementById(divId);
    	myContainer.innerHTML=strNewPoints;
    }
    l'appel de l'image qui se trouve dans dicom.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <body onMouseMove="getMouseXY(event); tryDrawLine();" onClick="captureClick();" style="background-color:#6699CC;" onLoad="currentMode='noPositionDefined';">
    <div id="myDiv" style="position:absolute; width: 0px; height: 0px; left: 0px; top: 0px; border: 1px none #000000;"></div>
     
    <div style="width:800px;height:800px;position:absolute;left:100px;" id='IdTexIm' onmousedown="javascript:degrade(event);" onmouseup="javascript:getImage(event);" >
    <img style='position:absolute;width=800px;height:800px' src='dicom.php?quality=100?varStatic=0' id='image' onselectstart="javascript:return false;" ondrag="return false;" ondragstart="return false;" oncontextmenu="return false;" >
    </div>
     
    </body>
    Merci

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    drawline n'est pas une fonction native de js ...
    je suppose donc que tu utilises une lib ???

    pour l'image dessus ou dessous c'est juste une question de z-index...
    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 éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    Mon titre est trompeur en fait je n'utilise aucune librairie j'ai définie moi même la fonction drawline postée précédemment.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    comme indiqué par SpaceFrog, il faut donc que tu définisses, pour les div représentant les "points" du "trait", un z-index supérieur à ceux des images à survoler.

    Remarque :
    Tu devrais utiliser les classes CSS, ça allègerait ton code

    A+

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    je n'est jamais utilisé le Zindex et regardant sur le web je ne comprends pas toujours à quoi ça sert et comment l'utiliser dans mon cas

  6. #6
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    top = haut
    left = gauche

    z-index= profondeur, niveau de couche ...

    un objet en z-index 2 sera "au-dessus" d'un objet en z-index 1
    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 !

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Il ne faut pas de quottes autour de la valeur du z-index.

    Et puis
    Citation Envoyé par E.Bzz Voir le message
    Tu devrais utiliser les classes CSS


    A+

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    merci ça marche

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 3
    Dernier message: 15/04/2009, 07h30
  3. Réponses: 2
    Dernier message: 03/03/2007, 19h03
  4. Déplacement d'une Cible sur une droite
    Par kurul1 dans le forum C++Builder
    Réponses: 10
    Dernier message: 11/07/2005, 16h44

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