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 dans les bitmap [Non suivi]


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut transparence dans les bitmap
    salut,
    mon soucis est le suivant :
    j'ai une photo d'une voiture dans un Timage. J'aimerais pouvoir changer la couleur des vitres en sélectionnant une couleur dans un combobox par exemple tout en gardant la transparence des vitres.
    C'est pour réaliser un logiciel qui permetrait de faire visualiser à mes clients la pose de films teintés destinés aux voitures.
    merci[/img]

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello

    Peut-être en utilisant 2 TImage ??
    Un pour la voiture dans son ensemble, et un autre juste pour les vitres, placé par dessus et défini comme transparent ??

  3. #3
    say
    say est déconnecté
    Membre éprouvé
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 258
    Points
    1 258
    Par défaut
    il me semble qu'en utilisant des png, tu serais plus tranquille, puisque tu aurais de la transparence.
    par ailleurs, ça allégera l'EXE.

    Il existe un compo : PngComponents

    http://www.thany.org/article/32/PngComponents

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut

    Tout dépend si on travaille sur des images connues ou non et à quelle
    hauteur on place la barre du développement.

    Si on dispose d'une banque d'images de base par type de véhicule,
    comme pour réaliser un programme similaire à celui montré dans une
    question précédente, alors il faut détecter les zones à coloriser.
    Ca peut-être fait manuellement ou automatiquement mais ce choix
    va déterminer la complexité du développement. Celà correspond en
    quelque sorte à une phase de pré calculs où les informations collectées
    permettront de coloriser ces zones à la demande.

    Si le programme doit pouvoir traiter un véhicule qui n'est pas répertorié,
    dans ce cas on entre de plein pied dans l'analyse d'image sur une photographie
    qui n'est connue qu'au moment du traitement.

    La colorisation devrait pouvoir s'appuyer sur l'image de référence convertie
    en niveaux de gris, comme autant de teintes qui dans les zones à coloriser
    serviraient d'index dans un nuancier.

    A toi de voir dans quelle direction aller !

    A plus !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    bonjour,
    En fait j'ai trouvé un site qui représente ce que j'aimerais réaliser
    voici le lien : http://www.glasprotec.fr/test_teinte.html
    est ce que je pourrais faire la même chose sous c++ builder selon vous ?
    merci

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Oui c'est tout à fait faisable !

    Ton développement va dépendre pour beaucoup des choix qui ont été mentionnés dans mon précédent message !

    A plus !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    Je vais partie sur des véhicules connus. Je vais récupérer 2 ou 3 modèles de voitures de chaque marque (les plus courantes). Ensuite j'aimerais choisir la couleur dans une combo par exemple pour la vitre avant, et hop la couleur change. Simple à dire, mais certainement plus compliqué à faire. Le pb c'est que je n'ai aucune base pour démarrer mon projet. Je ne connais pas les techniqes appropriées.
    J'espère avoir été claire
    merci

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Il existe aussi une autre solution qui consiste à préparer les images
    et leurs masques. Cette préparation peut être faite manuellement !
    Je vais tester ça puisque c'est une alternative au calcul de contours...

    ...à suivre !

  9. #9
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Moi ça m'intéresse, je vais essayer de ma part,
    et surment je suis du meme avis que henderson.

    @+

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Pour donner suite à ma dernière réponse, voici comment il est possible de préparer l'image,
    sans forcément passer par un contourage effectif des zones.
    Ici je raisonne sur un bitmap (*.BMP).

    On peut modifier la couleur des pixels de manière à les rassembler derrière un masque.
    D'une façon simple, ont peut définir 4 nuanciers pouvant servir de masque :

    - composantes rouge, bleu, vert et les niveaux de gris (R=G=B).

    La première chose à faire est de modifier chaque pixel de manière à ce qu'il
    ne relève pas d'une composante pure ou d'un niveau de gris.
    Il suffit d'incrémenter une composante de la chrominance (bleu de préférence ou rouge)
    en évitant de le faire sur la luminance (vert). Cette modification dans la chrominance
    n'apporte aucune modification visible. Mais par contre elle permettra de faire la distinction
    entre ce qui relève du masque et ce qui ne doit pas être colorisé.

    Ensuite, le travail consiste à traiter cette image modifiée avec une couleur de masque
    (composantes pures ou niveau de gris) en se servant du niveau de gris du pixel,
    d'où l'importance de ne rien modifier en luminance puisque le vert est dominant dans
    la conversion en niveau de gris. Ce traitement se fait manuellement et consiste à repeindre
    les zones à coloriser, avec la teinte d'un masque. Ca se fait facilement avec la souris
    en délimitant une zone autour de ses coordonnées (cercle, rectangle...). Il y a juste
    un mécanisme à mettre en place pour faire l'inverse, c'est à dire restaurer ce qui a été
    modifié... à l'aide d'un autre bitmap.

    Lorsque cette phase préparatoire est terminée, on dispose d'une image dotée des masques
    nécessaires à la colorisation et il n'y a plus qu'à sauvegarder cette image préparée.

    Peut-être qu'il existe des traitements d'images permettant de faire toute cette préparation
    (à ce stade je l'ignore). Si oui autant les utiliser ! Si non, cette partie est largement
    faisable avec BCB !

    Le traitement final consistera donc à analyser si un pixel d'une image préparée relève d'un
    masque. Si c'est le cas, il suffira de récupérer la valeur du masque (R ou G ou B ou R=G=B)
    et de l'utiliser comme index dans un nuancier qui donnera la couleur à donner au pixel.

    A plus !

Discussions similaires

  1. Quel langage pour la reconnaissance de forme dans les bitmaps
    Par zulad dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 17/03/2013, 08h46
  2. Réponses: 1
    Dernier message: 03/12/2009, 10h42
  3. [VB6] [MDI] Menus contextuels dans les filles
    Par Rosec dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/09/2002, 15h00
  4. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 14h51

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