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

GTK+ avec C & C++ Discussion :

Couleur transparence image Gtk ?


Sujet :

GTK+ avec C & C++

  1. #1
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut Couleur transparence image Gtk ? [dans un bouton now :)]
    Salut à tous

    Bon je ne pensais vraiment pas avoir ce problème, mais il semblerait que la couleur pour rendre les contours d'une image transparents ne soit pas la même en GTK que celle utilisée avec les API graphiques habituelles (le rose (255,0,255)) ...

    Si quelqu'un pouvait m'expliquer ce mystère ca serait sympa ^^

    J'ai également éssayé avec le noir ca ne marche pas.

    Merci d'avance, Skip

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Pour avoir une image transparente il suffit d'utiliser la couleur transparente
    Avec un png il n'y a rien à faire

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par gege2061
    Pour avoir une image transparente il suffit d'utiliser la couleur transparente
    Ouais ou une gomme ca marche aussi

    Citation Envoyé par skip78
    Bon je ne pensais vraiment pas avoir ce problème, mais il semblerait que la couleur pour rendre les contours d'une image transparents ne soit pas la même en GTK que celle utilisée avec les API graphiques habituelles (le rose (255,0,255)) ...
    Si tu exposais un peu plus ton problème ce serait mieux. Tu sais, c'est normal que ca change d'une API à une autre, elles ne sont pas créées de la même façon. Avec la SDL c'est fait en 2 ou 3 lignes de code seulement

    En générale, tu donnes (suivant l'implémentation encore une fois) à la fonction qui se charge de cette étape, la couleur à utiliser pour le détourage (le vrai terme infographique pour ce que tu veux faire).

  4. #4
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Bon bah justement
    Je sais pas comment on fait en GTK ^^

    j'ai bien trouvé des fonctions du genre :
    gtk_image_new_from_image (GDK_IMAGE , GDK_BITMAP);

    mais je ne comprends toujours pas comment m'en servir apparament

  5. #5
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par gege2061
    Bonjour,

    Pour avoir une image transparente il suffit d'utiliser la couleur transparente
    Avec un png il n'y a rien à faire
    Bah moi je suis sous Bitmap ou Jpeg selon les cas, et don cla question que je pose, si c'ets si simple que ca, est : Quelle est la couleur transparente ?

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par skip78
    Bah moi je suis sous Bitmap ou Jpeg selon les cas, et don cla question que je pose, si c'ets si simple que ca, est : Quelle est la couleur transparente ?
    JPeg il faut éviter le plus possible, surtout pour du détourage suivant une couleur donnée car la compression détériore toujours un peu certaines zones, même si des parties sont un aplat de couleur !

    Personnellement avec GTK+ je n'ai jamais fait cette manip

  7. #7
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Bah deja sais tu ce qu'est un GDK Bitmap ?
    Parce que je pense avoir la fonction mais elle me semble terriblement chiante d'utilisation ....

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Après une petite recherche, tu peut éventuellement regarder pour la fonction: gdk_draw_pixbuf fonction que j'ai trouvé à partir de celle-ci (qu'il ne faut pas utilisée car dépréciée): gdk_pixbuf_render_to_drawable_alpha

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par skip78
    Bah deja sais tu ce qu'est un GDK Bitmap ?
    Parce que je pense avoir la fonction mais elle me semble terriblement chiante d'utilisation ....
    Heu oui quand même, tu pousses le bouchon un peu trop loin maurice J'ai déjà utilisé certaines fonctions de GDK pour mon tutoriel sur la création de widget !

  10. #10
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Mais c'est pas possible il doit forcement y'avoir moyen de faire ca de facon simplifiée !?

    Moi le truc c'est que j'ai une image réservée dans une table, et que je souhaite pouvoir modifier cette image au cours du programme, et en l'occurence à certains moments j'ai besoin que y'ait rien dans cette image quoi.

    Pour ca il me suffirait de remplacer l'image par une image emplie de la couleur masque quoi.

    Serieux je suis étonné que ca n'existe pas

    Bon alors pour le cas évoqué ci dessus je vais tout simplement remplacer l'image en question par une image de 1 pixel, et puis pour les contours bah je vais tenter de comprendre la fonction que j'ai évoqué au début du topic, mais bon j'ai tenté ca donnait rien quoi

    Vraiment si quelqu'un pouvait me décrire précisément ce qu'il faut faire (je pense pas être le seul à avoir eu ce probleme (qui n'est pas cencé en etre un!) en manipulant les images sous GTK quoi !)

    Enfin bon merci tout de même Frank pour ton aide mais je sais pas comment faire pour aborder la fonction que tu me conseilles.

  11. #11
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Je pense avoir trouvé : gdk_pixbuf_add_alpha

  12. #12
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Ah merci beaucoup gege je me disais aussi ...

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par gege2061
    Je pense avoir trouvé : gdk_pixbuf_add_alpha
    Peut-être un début pour une section GDK & GdkPixbuf pour la FAQ GTK+

  14. #14
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Ouais parce qu'en fait je m'étais pas rendu compte qu'il fallait passer en Gdk là j'avoue que j'y comprends pas grand chose

    Enfin je vais regarder j'ai vu quelques topics

    Mais si vous vous sentez de m'expliquer comment passer d'une image gtk à un pixbuf Gdk je suis motivé

  15. #15
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Franck.H
    Peut-être un début pour une section GDK & GdkPixbuf pour la FAQ GTK+
    Y en a déjà une : Comment redimmentionner une image ?

    Mais si quelqu'un veux bien faire la même chose pour choisir la couleur de transparence il est le bienvenue

  16. #16
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Ouais c'est bon c'est expliqué la dedans merci à tous les deux cette fois je pense que c'est bon

  17. #17
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par skip78
    Ouais parce qu'en fait je m'étais pas rendu compte qu'il fallait passer en Gdk là j'avoue que j'y comprends pas grand chose

    Enfin je vais regarder j'ai vu quelques topics

    Mais si vous vous sentez de m'expliquer comment passer d'une image gtk à un pixbuf Gdk je suis motivé
    gtk_image_get_pixbuf

  18. #18
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par skip78
    Ouais c'est bon c'est expliqué la dedans merci à tous les deux cette fois je pense que c'est bon
    Au plaisir

  19. #19
    Membre du Club

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Points : 43
    Points
    43
    Par défaut
    Un peu dans le meme genre d'idee les amis , vous ne seriez pas comment rendre le background d'une GdkWindow transparent. J'ai des trucs de dessiner dans ma window je veux qu'ils apparaissent mais que l'on contitnue a voir derriere la window. Je suppose que lq solution doit se trouver non loin des fonction que vous avez evoque , mais je seche un peu sur ca.

    EDIT : j'ai pas trouvée la solution a ce probleme car j'ai changé de facon d'operé donc mon probleme est résolu , mais pas la question...:-)

  20. #20
    Membre habitué Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Points : 133
    Points
    133
    Par défaut
    Bonjour a tous,

    Bon alors je commencais a maitriser un peu les effets de couleur dans les GtkImages, j`etais content et tout ... et puis la, je tente de mettre une image avec une constante de transparence dans un bouton et ...

    je vous rapelle le code pour rendre une couleur transparente (ici le noir (0,0,0)) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pixbuf = gtk_image_get_pixbuf (GTK_IMAGE(img));
    pixbuf2 = gdk_pixbuf_add_alpha (GDK_PIXBUF(pixbuf), TRUE, 0, 0, 0);
    gtk_image_set_from_pixbuf (GTK_IMAGE(img), pixbuf2);
    Ainsi quand j`integre img directement a ma table, pas de soucis : tout pixel noir disparait et laisse place au background, mais quand je l`integre a un bouton (lui meme insere dans ma table), j`obtiens un carre de la taille du bouton avec du blanc a la place du noir, comme si ... on ne pouvait rien y faire

    Si quelqun a une idee, merci a vous.

Discussions similaires

  1. Contour en couleurs sur image en niveaux de gris
    Par vincent33 dans le forum Images
    Réponses: 4
    Dernier message: 11/09/2007, 10h19
  2. Chemin Image GTK ?
    Par A_B dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 11/03/2007, 22h56
  3. [ImageMagick] Couleur transparente image png
    Par f56bre dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/02/2007, 07h44
  4. traitement de couleur d'image en continu
    Par Little_franky dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/11/2006, 18h12
  5. [VB.NET]TreeView avec image de fond ou couleur transparent
    Par m-mas dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/05/2006, 14h53

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