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

Qt Discussion :

Appliquer un dégradé de transparence sur une icône ?


Sujet :

Qt

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Points : 63
    Points
    63
    Par défaut Appliquer un dégradé de transparence sur une icône ?
    Bonjour,

    Dans mon application j'ai beaucoup de QAction qui utilisent une icone png.
    J'aimerai appliquer un leger dégradé de transparence sur ces icones... Comment m'y prendre au plus simple ?

    Merci !

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Bonjour

    Le plus simple : lancer ton application de dessin préférée et créer une icone avec la transparence
    Pour que l'interface graphique reste fluide, il est préférable de ne pas modifier dynamiquement les icônes (je pense même qu'il y a un système de mise en cache des icônes pour accélérer leurs affichage)

    Si tu veux quand même le faire (par exemple, si tu veux donner la possibilité à un utilisateur de paramétrer la transparence des icônes dans ton application), il faut convertir ton icône en QPixmap, créer un QPainter sur ce QPixmap et dessiner/modifier la transparence.
    Et l'idéal sera alors de pré-calculer les icônes modifiées (au démarrage de l'application ou lors du premier affichage) et peut être aussi les enregistrer

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Points : 63
    Points
    63
    Par défaut
    Merci !

    Finalement j'ai choisis une solution intermédiaire, je n'avais pas besoin de transparence dynamique mais je voulais me reserver la possibilité de changer la transparence sur un coup de tete (j'utilise beaucoup les stylesheet par exemple) sans avoir a me retaper manuellement la modification de toutes les icones.

    J'ai donc créé une icone "transparence" qui contient des niveaux de gris que j'applique en alpha sur chaque icone utilisée... Ca me donne également la liberté de faire des formes personnalisées de transparence (pour donner des effets glossy par exemple).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    QPixmap icon(QString path)
    {
        QPixmap Icon=QPixmap(path);
        Icon.setAlphaChannel(QPixmap(":/icons/Transparency.png"));
        return Icon;
    }

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

Discussions similaires

  1. C# VS2005 Gif Transparent sur une picture.
    Par mr_keyser dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/05/2007, 17h18
  2. [ImageMagick] Transparence sur une forme
    Par Woodgate dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/02/2007, 02h20
  3. Dessiner sur une icône.
    Par sitirna dans le forum C++Builder
    Réponses: 3
    Dernier message: 03/11/2006, 13h11
  4. dégradé transparent sur une image
    Par Dionyzos dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2005, 16h47
  5. Réponses: 1
    Dernier message: 23/02/2003, 07h22

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