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 :

[canvas] Synthèse soustractive des couleurs


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 527
    Points : 1 718
    Points
    1 718
    Par défaut [canvas] Synthèse soustractive des couleurs
    Salut, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ctx.globalCompositeOperation='lighter';
    , je peux facilement faire de l'additif avec canvas context mais j'ai besoin de faire du soustractif, soit par exemple un rectangle jaune que l'on superpose à un magenta et l'obtention du rouge à l'intersection du chevauchement...Peut-être existe-il une méthode générale de context qui face le job si c'est possible... puisque les écrans fonctionnent en additif des couleurs primaires rouge,vert et bleue.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    16 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 093
    Points : 40 981
    Points
    40 981
    Par défaut
    Bonjour,
    si tu n'as pas trouvé ton bonheur dans : Compositing and Blending Level 2, c'est que cela n'est actuellement pas prévu.

    Voir également : Exemple de composition sur MDN

  3. #3
    Membre expérimenté
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 527
    Points : 1 718
    Points
    1 718
    Par défaut
    Salut, merci pour tes liens mais je n'ai pas trouvé mon bonheur. En revanche je ne savais pas faire de l'additif avec svg et ton premier lien me donne la solution... Nickel ! Et pour ce que j'aimerais faire en soustractif, j'arriverai à me débrouiller...

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    16 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 093
    Points : 40 981
    Points
    40 981
    Par défaut
    mais j'ai besoin de faire du soustractif, soit par exemple un rectangle jaune que l'on superpose à un magenta et l'obtention du rouge à l'intersection du chevauchement...
    j'ai regardé un peu plus avant et l'on peut tout à fait obtenir le bon résultat avec au moins deux modes, mode darken et mode multiply en couleur CMY.

    La page de test :

  5. #5
    Membre expérimenté
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 527
    Points : 1 718
    Points
    1 718
    Par défaut
    Ha, nickel chrome... en effet, je viens de retester avec "darken" et ça fonctionne parfaitement. Lors de mes essais, j'avais un fillRect() noir en fond de canvas, je mettais après le dessin du fillRect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ctx.globalCompositeOperation='darken';
    et ensuite mes disques de couleurs secondaires et je n'obtenais rien...
    La suppression du fond règle le problème... je suis donc passé à côté. Je vais aussi regarder 'multiply'...
    Il suffit dans mon cas de mettre un background-color en CSS sur mon canvas.
    Parfait, c'est résolu et merci pour ta démo !

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    16 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 093
    Points : 40 981
    Points
    40 981
    Par défaut
    Il suffit dans mon cas de mettre un background-color en CSS sur mon canvas.
    on peut ajouter facilement une couleur de fond, après dessin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    context.globalCompositeOperation = "destination-over";
    context.fillStyle = "#FFF";
    context.fillRect(0, 0, canvas.width, canvas.height);

  7. #7
    Membre expérimenté
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 527
    Points : 1 718
    Points
    1 718
    Par défaut
    Re,
    encore bien vu...en effet, ça marche ! Ceci dit, en passant pas CSS, c'est plus succinct mais la méthode mérite d'être connue... Parfait tout ça...

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

Discussions similaires

  1. synthèse soustractive des couleurs
    Par raoulp dans le forum SDL
    Réponses: 4
    Dernier message: 01/10/2008, 23h50
  2. TValueListEditor : Avoir des couleurs différentes par rangée
    Par Griswold dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/08/2004, 19h41
  3. Des couleurs en mode console
    Par davcha dans le forum MFC
    Réponses: 3
    Dernier message: 08/05/2004, 14h37
  4. [Debutant] gestion des couleurs ??
    Par MaxiMax dans le forum OpenGL
    Réponses: 5
    Dernier message: 26/03/2004, 08h34
  5. pb pour modifier la luminositée des couleurs
    Par mathieutlse dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 14h45

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