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 :

empecher la superposition d'ombres


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut empecher la superposition d'ombres
    Bonjour,

    voici un code qui creer 3 carres, avec une ombre, ayant un cote en commun.

    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
    67
    68
    69
    70
    71
    72
    73
     
    <!DOCTYPE HTML>
    <html>
        <head>
            <style>
                body {
                    margin: 0px;
                    padding: 0px;
                }
     
                #myCanvas {
                    border: 1px solid #9C9898;
                }
            </style>
            <script>
     
    		window.onload = function(){
                    var canvas = document.getElementById("myCanvas");
                    var ctx = canvas.getContext("2d");
     
    				ctx.beginPath(); 
    				ctx.moveTo(100,100);
    				ctx.lineTo(100,200);
    				ctx.lineTo(200,200);
    				ctx.lineTo(200,100);
    				ctx.lineTo(100,100);
    				ctx.closePath();
     
    				ctx.fillStyle="white";
    				ctx.shadowColor="green";
    				ctx.shadowBlur=30;
    				ctx.fill();
     
     
     
    				ctx.beginPath(); 
    				ctx.moveTo(200,100);
    				ctx.lineTo(300,100);
    				ctx.lineTo(300,200);
    				ctx.lineTo(200,200);
    				ctx.lineTo(200,100);
    				ctx.closePath();
     
    				ctx.fillStyle="white";
    				ctx.shadowColor="red";
    				ctx.shadowBlur=30;
    				ctx.fill();
     
     
    				ctx.beginPath();
    				ctx.moveTo(300,100);
    				ctx.lineTo(400,100);
    				ctx.lineTo(400,200);
    				ctx.lineTo(300,200);
    				ctx.lineTo(300,100);
    				ctx.closePath();
    				ctx.stroke();
     
    				ctx.fillStyle="white";
    				ctx.shadowColor="black";
    				ctx.shadowBlur=30;
    				ctx.fill();
     
     
    				            };
            </script>
        </head>
        <body onmousedown="return false;">
            <canvas id="myCanvas" width="1200" height="600">
            </canvas>
     
        </body>
    </html>
    J'aimerai savoir comment faire pour que les ombres ne se superposent pas sur les carres.

    D'avance merci

  2. #2
    Membre actif Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance Java / Web / Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 240
    Points
    240
    Par défaut
    La seule solution que je vois est de tracer un rectangle colorié en blanc en dernier.
    Je te propose cette solution, également moins verbeuse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ctx.fillStyle = "white";
    ctx.shadowBlur = 30;
     
    ctx.shadowColor = "green";
    ctx.fillRect(100,100,100,100);
     
    ctx.shadowColor = "red";
    ctx.fillRect(200,100,100,100);
     
    ctx.shadowColor = "black";
    ctx.fillRect(300,100,100,100);
     
    ctx.shadowColor = null;
    ctx.fillRect(100,100,300,100);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut
    bonjour,
    merci de votre attention. je vais essayer votre methode.
    J'ai essyer avec ctx.globalCompositeOperation = "xor";mais je n'arrive au resultat que je souhaite qu'avec 2 formes avec 3 cela ne marche plus.

Discussions similaires

  1. Empecher le drag/drop en cas de superposition
    Par ouaqa dans le forum Flex
    Réponses: 4
    Dernier message: 30/03/2010, 14h52
  2. Comment empecher le Alt + F2 ??
    Par phoenix007 dans le forum Access
    Réponses: 12
    Dernier message: 25/08/2006, 08h52
  3. [JBuilder9][JSP] Comment empêcher la recompilation
    Par lamimolette75 dans le forum JBuilder
    Réponses: 2
    Dernier message: 11/07/2003, 15h20
  4. Empecher les erreurs du débogeurs
    Par remixtech dans le forum EDI
    Réponses: 9
    Dernier message: 04/06/2003, 13h45
  5. Empecher le curseur de sortir du dialog
    Par Gadjo dans le forum MFC
    Réponses: 5
    Dernier message: 18/11/2002, 18h01

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