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

Langage Delphi Discussion :

Mélange de couleurs


Sujet :

Langage Delphi

  1. #1
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut Mélange de couleurs
    Je n'arrive pas à trouver une fonction qui permet de mélanger deux couleurs. Est-ce-que vous en connaissez une?

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    inspire de : http://nono40.developpez.com/sources/source0072/
    en plus voir dans le site de nono j'ai déjà vu quelque chose de ce genre

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Il me semble qu'il faut décomposer en RGB et mélanger chacune des 3 couleurs indépendamment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C3:= ((((C1 and $FF0000)+(C2 and $FF0000)) div 2) and $FF0000) +
         ((((C1 and $FF00)  +(C2 and $FF00))   div 2) and $FF00  ) +
         ((((C1 and $FF)    +(C2 and $FF))     div 2) and $FF    ) ;

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Graffito !
    C'est la moyenne de chaque composant (R, G et B) des couleurs à melanger.
    Le code donné ci-dessus est donc bon. à+

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Sauf que tout ça est égal en fait à ( C1 + C2 ) div 2
    Par contre pour faire du vert par exemple il faut écrire $00FF00 donc tous les 0 ont leur importance

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Smiley a écrit :

    Sauf que tout ça est égal en fait à ( C1 + C2 ) div 2
    si C1=$0000100 et C2=$0000001
    alors C3=$000000
    tandis que (C1+C2) div 2 = $000080

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Pour tous ce qui est graphique regarder chez efg's

    Pour les couleurs :

    http://homepages.borland.com/efg2lab/Library/Delphi/Graphics/Color.htm

    Vous avez un projet d'exemple de mélange de couleur en couleur additive et en couleur substractive.
    Cela revient a applique les formule RGB qui vous ont été fournis, mais avec un exemple visuelle.

  8. #8
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Mais j'ai pas très bien compris comment on décomposait une couleur ...

  9. #9
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Matt2094
    Mais j'ai pas très bien compris comment on décomposait une couleur ...
    Ben Graffito t'as donné le code complet et exact à utiliser. Il assigne à C3 une couleur qui est le mélange de C1 et C2.

  10. #10
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    Mais si je veux mélanger par exemple 3 couleurs, je mets ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C4:= ((((C1 and $FF0000)+(C2 and $FF0000))+(C3 and $FF0000)) div 2) and $FF0000) + 
         ((((C1 and $FF00)  +(C2 and $FF00)   +(C3 and $FF00))   div 2) and $FF00  ) + 
         ((((C1 and $FF)    +(C2 and $FF)     +(C3 and $FF))     div 2) and $FF    ) ;

  11. #11
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Mais non pas div 2 mais div 3
    Le principe est très simple: tu décomposes tes couleurs en leurs 3 composantes R, G et B. Tu fais la moyenne entre elles et tu reconstitue la couleur résultante avec les moyennes R G et B trouvées
    et en Delphi, ça donne, pour 3 couleurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    C4:= ((((C1 and $FF0000)+(C2 and $FF0000))+(C3 and $FF0000)) div 3) and $FF0000) +
         ((((C1 and $FF00)  +(C2 and $FF00)   +(C3 and $FF00))   div 3) and $FF00  ) +
         ((((C1 and $FF)    +(C2 and $FF)     +(C3 and $FF))     div 3) and $FF    ) ;

  12. #12
    En attente de confirmation mail Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Points : 237
    Points
    237
    Par défaut
    ah oui! zut ... j'avais oublier ça ... merci !

  13. #13
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Graffito
    si C1=$0000100 et C2=$0000001
    alors C3=$000000
    tandis que (C1+C2) div 2 = $000080
    J'avoue que j'ai mal vu, je me suis arrété au div 2

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

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. mélange de couleurs
    Par sousou2007 dans le forum Images
    Réponses: 13
    Dernier message: 13/06/2008, 14h35
  3. Réponses: 6
    Dernier message: 20/07/2007, 19h59
  4. Mixage de Couleurs
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 29/05/2002, 13h34
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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