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

Discussion :

QGraphicsView : Case du plateau et transparence des pieces

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut QGraphicsView : Case du plateau et transparence des pieces
    Bonjoru a tout le monde et merci à ceux qui prendront 2 minutes pour lire mon problème et peut être le résoudre.

    En regardant les différents posts, j'ai créé une QGraphicsView dans laquelle j'ai positionnée une scene.

    J'ajoute successivement 2 items (type QGraphicsPixmapItem) dans ma scene et je voudrais que le second objet (qui est une piece) se superpose sur la case. Malheureusement le fond blanc de ma pièce cache l'arrière plan et donc la case !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    MyGraphicView::MyGraphicView(QWidget *parent)
            :QGraphicsView()
    {
        QGraphicsScene *m_Scene = new QGraphicsScene(this);
        this->setParent(parent);
        this->setScene(m_Scene);
     
        this->setFixedSize(250, 250);
     
        QPixmap loc_terrain = QPixmap("foret.bmp");
        QGraphicsPixmapItem *loc_item_foret = m_Scene->addPixmap(loc_terrain);
        loc_item_foret->setPos(150, 150);
     
        QPixmap loc_hero = QPixmap("hero.gif");
        QGraphicsPixmapItem *loc_item_hero = m_Scene->addPixmap(loc_hero);
        loc_item_hero->setPos(150, 150);
    }
    Comment peut on définir que la couleur RGB (ici se sera du blanc) dans ma seconde image soit prise en compte comme couleur de transparence ?

    Est ce que cela doit être directement stocké dans l'image elle même ou bien dois je utiliser des propriétés particulières de QT (et du Painter) pour réaliser cela ?

    Merci par avance

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Salut,

    Alors si tu veux modifier une image en détail, il faut que tu utilises la classe QImage. Tu peux ensuite très facilement récupérer un QPixmap à partir de cette QImage.

    Mais je pense qu'il existe d'autres manières, plus simples, de régler ton problème. Par contre, j'avoue que j'ai un peu de mal à me représenter ton problème. Pourrais tu nous fournir un petit screenshot en nous montrant ce qui ne va pas ?

    Si tu veux faire de la transparence sur ton image "hero.gif", ne serait il pas préférable de le faire directement avec un logiciel d'édition d'image, puis d'utiliser l'image modifiée directement dans ton application?

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Si tu veux faire de la transparence sur ton image "hero.gif", ne serait il pas préférable de le faire directement avec un logiciel d'édition d'image, puis d'utiliser l'image modifiée directement dans ton application?
    Ben c'était une de mes questions dans le sujet précédent.

    Il s'agit de 2 images de taille 64*64. Le fond est une image fond vert avec un dessin de foret.
    La 2e est un petit bonhomme qu'un enfant de 3 ans aurait pu dessiner (une tete ronde, et trois trait pour le corps) avec un fond blanc. Je vais essayer dans un logiciel de dessin de définir le fond blanc comme couleur de transparence !

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par CSIE_Angel#5 Voir le message
    Je vais essayer dans un logiciel de dessin de définir le fond blanc comme couleur de transparence !
    C'est la solution la plus simple.
    Pour de la transparence avec Qt je te conseil le format png. Supporté nativement par Qt contrairement à gif où il utilise un plug in.
    Des logiciels comme irfanview te permet de sauvegarde une image en sélectionnant une couleur qui sera considéré comme transparent.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Effectivement avec une image PNG et une transparence mise sur la couleur blanche mon problème est résolu.

    C'était pas plus difficile que ca !

    Merci

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

Discussions similaires

  1. Transparence des images PNG sous Internet Explorer
    Par Torpedox dans le forum Webdesign & Ergonomie
    Réponses: 12
    Dernier message: 14/10/2008, 23h41
  2. [Compatibilité] transparence des png avec IE
    Par webrider dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 16/08/2006, 09h46
  3. Telechargement des pieces jointes d'un mail
    Par pottiez dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/05/2006, 20h16
  4. Envoyer des pieces jointes avec winsock....
    Par YoUpIeN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/01/2005, 00h26
  5. [SWT] Problème avec la transparence des PNG
    Par sirjuh dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 02/08/2004, 08h07

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