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

MFC Discussion :

[MFC] Surlignage d'une zone d'une image


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut [MFC] Surlignage d'une zone d'une image
    Bonsoir a tous,

    J'ai une image affichée dans une fenêtre toute bête, et je voudrais qu'il y apparaisse par dessus, un rectangle plein, colorié en jaune fluo, pour imiter un surlignage en fait.

    Et je me heurte au probleme suivant: je n'arrive pas à assurer les semi-transparence de mon cadre... c'est ou tout jaune sans rien y voir, ou alors c'est tout vide, sans meme le cadre....

    Si quelqu'un avait une idée pour moi ca serait sympa...

    (PS: je suis TRES débutant en Visual C++, moi qui suis plutot porté GNU/Linux.... Aime po Windows moi...)

  2. #2
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    T'est sous .NET ou sous VC++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    J'utilise VC++

  4. #4
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    il y as plusieurs possibilités :

    Soit tu tiens à surligner en jaune (Faisable), soit tu veut juste identifier une zone et alors là je te conseille le XOR (Plus Rapide) avec

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    LE seul hic c'est que je peux pas tester la... j'essaierai demain... Merci beaucoup en tout cas!!!

    Et juste par curiosité (sait on jamais), le surlignage ca donnerait quoi?

    Merci beaucoup pour cette réponse super rapide...

  6. #6
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    ben il faut que tu récupère chaque Pixel de ta zone

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CDC::GetPixel(x,y)
    te retourne un COLORREF SrcColor par exemple.
    tu le Decode en RGBTRIPLE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Src.rgbtBlue     = (SrcColor >> 16) & 0xFF;
    rc.rgbtGreen  = (SrcColor >> 8) & 0xFF;
    Src.rgbtRed    = SrcColor & 0xFF;
    tu le combine avec ton jaune :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Alpha allant de 0 à 255
    NewColor.rgbtBlue  = ((Src.rgbtBlue* Alpha) + (Dest->rgbtBlue * (0xFF-Alpha))) / 0xFF;
    // idem avec le Green et le Red
    tu le recode en COLORREF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NewColorref =(NewColor.rgbtBlue  <<16)+NewColor.rgbtGreen<<8)+NewColor.rgbtRed);
    Et après tu fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CDC::SetPixel(x,y, NewColor)
    Moi je vois que comme ça sous VC++ je sais pas si avec une mise à jour du GDI tu peut pas avoir la gestion de la transparence en Natif ?
    A voir...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Par défaut
    Wow c'est pas bete du tout j'y avais pas du tout pensé!!! Je testerai c'est promis merci bcp en tout cas!!!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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