Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/04/2009, à 20:10

kevlar

[résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

Bonjour à tous !
Voilà, je souhaite créer un pointeur de souris (GdkCursor) plus grand que la normale, et avec une forme de mon choix. Je sais qu'on peut le faire à partir de pixmaps. Or, je souhaite, pour être tranquille, que le code source de la pixmap soit intégré à l'intérieur du Code C. C'est facile à faire pour des curseurs monochromes, donc pas de problèmes. Par contre pour une forme évoluée et colorée, j'ai trouvé ce tuto :
http://fr.wikibooks.org/wiki/Programmat … 2B/Pixmaps

Ma question : quel utilitaire pour obtenir les quelques dizaines de lignes de description de la "brouette" (dernier listing de la page ) ? tongue

Dernière modification par kevlar (Le 26/04/2009, à 20:15)

Hors ligne

#2 Le 23/04/2009, à 20:15

kevlar

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

la honte ; Gimp permet d'exporter le Code C ...

Hors ligne

#3 Le 23/04/2009, à 21:02

kevlar

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

Ouais ... on trouve sans problème comment créer un curseur avec Gimp ... pour Windows ! Mais pour Linux ... Rien. sad

Hors ligne

#4 Le 24/04/2009, à 17:09

Link31

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

kevlar a écrit :

Ma question : quel utilitaire pour obtenir les quelques dizaines de lignes de description de la "brouette" (dernier listing de la page ) ? tongue

Eh bien tu enregistres n'importe quelle image au format .xpm depuis Gimp, et tu ouvres le fichier depuis ton éditeur de texte pour obtenir le code C.

Hors ligne

#5 Le 24/04/2009, à 20:25

kevlar

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

c'est aussi simple que ça ... big_smile
Merci, je vois ça demain !

Hors ligne

#6 Le 26/04/2009, à 20:08

kevlar

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

Bon, ça marche ! Le but du jeu était de modifier l'icône de mon programme. Au début, je me suis un peu perdu en voulant utiliser gdk plutôt que Gtk. En fait, c'est très simple, et voici la marché à suivre pour ceux qui liraient ce message.;)
1- créer un dessin en 48x48 pixels (par exemple), en 16 couleurs (par exemple).
2- sauvegarder ce dessin au format .xpm.
3- ouvrir le fichier xpm ainsi obtenu avec un [b]éditeur de texte[b] comme Gedit. Copier dans le presse-papier l'ensemble du code.
4- ouvrir le fichier source en C, et y coller le contenu du presse-papiers.
Exemple chez moi (juste le début ...)

#include "gdk/gdk.h"
#include <gtk/gtk.h>
/* XPM */
static char *claire_xpm[] = {
"48 48 16 1",
"0	c #000000",
"1	c #FF0000",
"2	c #00FF00",
"3	c #FFFF00",
"4	c #0000FF",
"5	c #FF00FF",
"6	c #00FFFF",
"7	c #FFFFFF",
"8	c #DBDBDB",
"9	c #B6B6B6",
"A	c #929292",
"B	c #6D6D6D",
"C	c #494949",
"D	c #242424",
"E	c #DB0000",
"F	c #B60000",
"333333333333333333333333333333333333333333333333",
"333333333333333333333333333333333333333333333333",
"333333333333333333333333333333333333333333333333",
"333333333333333333333333333333333333333333333333",
"333333333333333333333333333333333333333333333333",

Ensuite, trois ou quatre choses à faire dans le programme :
5- déclarer un GdkPixbuf
6- créer le GdkPixbuf à partir des données en mémoire intégrées dans le programme à l'étape 4.
7. appeler, après avoir déclaré la fenêtre du programme la fonction qui va bien (gtk_window_set_icon).
Ce qui donne :

  GtkWidget *window;

  GdkPixbuf *icopb;
  gtk_init (&argc, &argv); //Initialise GTK
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
  gtk_widget_set_name (window, "Un petit programme GTK "); 
 icopb = gdk_pixbuf_new_from_xpm_data(claire_xpm); /* bien noter l'appel */

  gtk_window_set_icon(GTK_WINDOW(window), icopb);

  gtk_signal_connect (GTK_OBJECT (window), "destroy",
                      GTK_SIGNAL_FUNC (quit), NULL);
  gtk_widget_show (window); //Affiche la fenetre


  gtk_main (); //Rend la main a l'application

  return 0;

Note : Gcc se plaint sur le type incompatible que serait le paramètre 'icopb', mais ça marche ...

Dernière modification par kevlar (Le 26/04/2009, à 20:14)

Hors ligne

#7 Le 30/04/2009, à 11:05

kevlar

Re : [résolu]quel utilitaire pour obtenir le code source d'un pixmap ?

je fais remonter le topic, car, parfois, l'icône ne s'affiche pas dans la barre des tâches (ceci dit, j'utilise Cairo-Dock, peut-être est-ce dû à lui ?)

Hors ligne