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 :

GdkGC : comment définir une couleur ?


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut GdkGC : comment définir une couleur ?
    Bonsoir à tous !

    J'aimerais dessiner un rectangle en rouge avec Gdk_draw_rectangle.

    Ce qui m'intéresse c'est la définition du GC, pour la couleur.

    Voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    GdkGC *gc;
    GdkColor *fg;
     
    /* fg = ??????? comment définir la couleur ??? */
    gc = gdk_gc_new(pixmap);
    gdk_gc_set_foreground(gc, fg);
    ensuite je pourrais utiliser le GC dans Gdk_draw_rectangle.

    Comment définir fg (en RGB) avec les valeurs (255, 0, 0) ???
    Merci !

  2. #2
    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 : 48
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Salut !

    Citation Envoyé par bert_
    Comment définir fg (en RGB) avec les valeurs (255, 0, 0) ???
    En fait non, comme c'est marqué dans la documentation officielle:
    guint32 pixel; For allocated colors, the value used to draw this color on the screen.
    guint16 red; The red component of the color. This is a value between 0 and 65535, with 65535 indicating full intensitiy.
    guint16 green; The blue component of the color.
    guint16 blue; The green component of the color.
    Et on déclare ainsi:
    Et on passe alors l'adresse de la variable

    Tu peux soit définir les couleurs manuellement en dur dans le code ou laisser la possibilité à l'utilisateur de choisir la couleur de son choix en utilisant par exemple une boîte de dialogue de type GtkColorSelectiondialog puis récupérer la couleur avec la fonction gtk_color_selection_get_current_color

    En espérant avoir pû t'aider
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut
    Pour déclarer en dure dans le programme, on peut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    GdkColor fg;
     
    pixel.fg = 0;
    red.fg = 0xFFFF;
    green.fg = 0;
    blue.fg = 0;

    ??

  4. #4
    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 : 48
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par bert_
    Pour déclarer en dure dans le programme, on peut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    GdkColor fg;
     
    pixel.fg = 0;
    red.fg = 0xFFFF;
    green.fg = 0;
    blue.fg = 0;

    ??
    Oui bien sûr, si tu inverses red.fg et les autres ce qui donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fg.pixel = 0;
    fg.red = 0xFFFF;
    fg.green = 0;
    fg.blue = 0;


    Y'a juste pour:
    que je sais pas, moi je ne l'ai jamais modifié manuellement
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut
    merci mais ça me fait une erreur de segmentation ???

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut
    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      GdkGC *gc;
      GdkColor rouge;
     
      rouge.pixel = 0;
      rouge.red = 0xFFFF;
      rouge.green = 0;
      rouge.blue = 0;
     
      gc = gdk_gc_new(temp->pixmap);
      gdk_gc_set_foreground(gc, &rouge);

Discussions similaires

  1. Comment définir une couleur RGB pour composant TForm
    Par kressano dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/09/2009, 17h18
  2. Comment donne une couleur a une ligne dans un DBGrid
    Par samy84s dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/09/2005, 23h22
  3. Comment obtenir une couleur clignotante dans un TStringGrid ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2005, 00h46
  4. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  5. Réponses: 8
    Dernier message: 20/12/2004, 15h14

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