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

C++Builder Discussion :

Transparence de deux images


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 37
    Par défaut Transparence d'image
    Bonjour,

    Je voudrais savoir comment faire pour gerer le transparance de deux images dans un canvas.

    Si quelqu'un à une idée

    Merci

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Si tu utilise un composant TImage, il y a la propriété Transparent à mettre à true

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 37
    Par défaut
    Non en fait je me suis mal exprimer, car la propiété Transparent c'est pas pour la meme chose (je maitrise un peu quand même ).

    Je copie dans le canvas du TImage une image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1->Canvas->Draw(0,0,l_origine);
    Sauf que là je veux que cette image soit légèrement transparante, donc en fait j'ai trouvé je pense ce que je veux mais j'arrive pas à le compiler. j'ai remplacer le bout de code plus haut par cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void DrawAlphaBlend (int alpha, HDC hdcDest, TRect rectDest, HDC hdcSrc, TRect rectSrc)
        {
        BLENDFUNCTION bf;
     
        memset(&bf,0,sizeof(bf));
        bf.BlendOp = AC_SRC_OVER;
        bf.SourceConstantAlpha = alpha;
        bf.SourceConstantAlpha = 128;   // Test
     
        AlphaBlend(hdcDest,0,0,rectDest.Width(),rectDest.Height(),
                   hdcSrc ,0,0,rectSrc .Width(),rectSrc .Height(),bf);
        }
    Ca compile pas parce que le likeur n'arrive pas à faire la référence externe.

    Avez-vous une idée ?

    Merci

  4. #4
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour,

    Perso, je viens d'essayer de compiler cette partie de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void DrawAlphaBlend (int alpha, HDC hdcDest, TRect rectDest, HDC hdcSrc, TRect rectSrc)
        {
        BLENDFUNCTION bf;
     
        memset(&bf,0,sizeof(bf));
        bf.BlendOp = AC_SRC_OVER;
        bf.SourceConstantAlpha = alpha;
        bf.SourceConstantAlpha = 128;   // Test
     
        AlphaBlend(hdcDest,0,0,rectDest.Width(),rectDest.Height(),
                   hdcSrc ,0,0,rectSrc .Width(),rectSrc .Height(),bf);
        }
    et...ben il dis rien ...
    J'avais mis en private dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void DrawAlphaBlend (int alpha, HDC hdcDest, TRect rectDest, HDC hdcSrc, TRect rectSrc);
    aucun message d'erreur a la compilation...

  5. #5
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 37
    Par défaut
    Comprends Pas
    Moi le linkeur peut pas faire le link sur la fonction AlphaBlend

    Vous avez fait une appli avec une form et tout le tralàlà ???

  6. #6
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Oui, oui...je pensais même devoir préciser qq chose comme #include <Wingdi.h>, en rapport a BLENDFUNCTION, mais même pas besoin ...

  7. #7
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 37
    Par défaut
    Ma fonction ne fait pas partie de la class de la fiche car autrement AlphaBlend se confond avec la propriété AlphaBlend de la class TCustomForm

  8. #8
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Chez moi aussi ça compile sans erreur.

    Ca compile pas parce que le likeur n'arrive pas à faire la référence externe.
    C'est la fonction AlphaBlend qu'il ne trouve pas ?
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

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

Discussions similaires

  1. superposition de deux images avec transparence
    Par ol9245 dans le forum MATLAB
    Réponses: 3
    Dernier message: 27/10/2014, 10h45
  2. Fusionner deux images avec transparence
    Par xander412 dans le forum C#
    Réponses: 4
    Dernier message: 23/07/2009, 15h39
  3. Réponses: 2
    Dernier message: 24/01/2008, 18h26
  4. "Merger" deux images avec une couleur de transparence
    Par MaelstroeM dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/09/2007, 09h34
  5. dégradé transparent sur une image
    Par Dionyzos dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2005, 15h47

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