Beruflich Dokumente
Kultur Dokumente
page=page_11
Forums Tutoriels Magazine FAQs Blogs Chat Newsletter tudes Emploi Club
Contacts
p
u
Accueil ALM Java .NET Dv. Web EDI Programmation SGBD Office Solutions d'entreprise Applications Mobiles Systmes
Accueil C Forums C FAQ C Tutoriels C Livres C Compilateurs et outils C Sources C Bibliothques C GTK+
ACCUEIL GTK+ FORUM GTK+ FAQ GTK+ TUTORIELS GTK+ SOURCES GTK+ BIBLIOTHEQUES LIVRES GTK+ OUTILS GTK+
Cours GTK 2
XI-A-1. Cration
Slectionnez
GtkWidget* gtk_image_new (void);
GtkWidget* gtk_image_new_from_file(const gchar *filename);
GtkWidget* gtk_image_new_from_stock(const gchar *stock_id, GtkIconSize size);
La deuxime cre l'image partir du fichier filename. Gtk+ est capable d'utiliser les
images qui sont au format PNG, JPEG, TIFF. Le chemin du fichier filename peut tre
relatif ou absolu. Si le chemin spcifi est incorrect ou que le format de l'image est
invalide, l'image de retour sera celle-ci :
La troisime fonction, rcupre l'image qui est associe un objet GtkStockItem afin
de l'afficher. Le paramtre size peut prendre sept valeurs diffrentes pour dfinir la
taille de l'image afficher :
Valeur Aperu
Ne peut tre pass en
GTK_ICON_SIZE_INVALID paramtre. Ceci est uniquement
une valeur de retour.
GTK_ICON_SIZE_MENU
GTK_ICON_SIZE_SMALL_TOOLBAR
GTK_ICON_SIZE_LARGE_TOOLBAR
GTK_ICON_SIZE_BUTTON
GTK_ICON_SIZE_DND
GTK_ICON_SIZE_DIALOG
Cette tape intervient lorsque vous avez cr une image vide ou lorsque vous voulez
changer d'image. Les deux fonctions tudies ici sont :
Slectionnez
void gtk_image_set_from_file(GtkImage *image, const gchar *filename);
void gtk_image_set_from_stock(GtkImage *image, const gchar *stock_id, GtkIconSize size);
Les paramtres sont les mmes que lors de la cration d'un widget GtkImage, sauf
qu'il faut prciser quel widget il faut appliquer l'image.
XI-A-3. Exemple
Notre exemple comprendra deux composants. Tout d'abord une zone ou est affiche
l'image, puis un bouton contenant l'image du GtkStockItem GTK_STOCK_QUIT, pour
quitter l'application.
Slectionnez
#include <stdlib.h>
#include <gtk/gtk.h>
gtk_init(&argc, &argv);
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
gtk_window_set_title(GTK_WINDOW(pWindow), "GtkImage");
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
pQuitBtn = gtk_button_new();
gtk_box_pack_start(GTK_BOX(pVBox), pQuitBtn, TRUE, FALSE, 5);
g_signal_connect(G_OBJECT(pQuitBtn), "clicked", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(pWindow);
gtk_main();
return EXIT_SUCCESS;
}
Rsultat :
Slectionnez
void gtk_image_get_icon_set(GtkImage *image, GtkIconSet **icon_set, GtkIconSize *size);
void gtk_image_get_image(GtkImage *image, GdkImage **gdk_image, GdkBitmap **mask);
GdkPixbuf* gtk_image_get_pixbuf(GtkImage *image);
void gtk_image_get_pixmap(GtkImage *image, GdkPixmap **pixmap, GdkBitmap **mask);
void gtk_image_get_stock(GtkImage *image, gchar **stock_id, GtkIconSize *size);
GdkPixbufAnimation* gtk_image_get_animation(GtkImage *image);
GtkImageType gtk_image_get_storage_type(GtkImage *image);
GtkWidget* gtk_image_new_from_icon_set(GtkIconSet *icon_set, GtkIconSize size);
GtkWidget* gtk_image_new_from_image(GdkImage *image, GdkBitmap *mask);
GtkWidget* gtk_image_new_from_pixbuf(GdkPixbuf *pixbuf);
GtkWidget* gtk_image_new_from_pixmap(GdkPixmap *pixmap, GdkBitmap *mask);
GtkWidget* gtk_image_new_from_animation(GdkPixbufAnimation *animation);
void gtk_image_set_from_icon_set(GtkImage *image, GtkIconSet *icon_set, GtkIconSize size);
void gtk_image_set_from_image(GtkImage *image, GdkImage *gdk_image, GdkBitmap *mask);
void gtk_image_set_from_pixbuf(GtkImage *image, GdkPixbuf *pixbuf);
void gtk_image_set_from_pixmap(GtkImage *image, GdkPixmap *pixmap, GdkBitmap *mask);
void gtk_image_set_from_animation(GtkImage *image, GdkPixbufAnimation *animation);
void gtk_image_set(GtkImage *image, GdkImage *val, GdkBitmap *mask);
void gtk_image_get(GtkImage *image, GdkImage **val, GdkBitmap **mask);
Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre
convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge
par les droits d'auteur. Copyright 2013 developpez. Aucune reproduction, mme partielle,
ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images,
etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans
de prison et jusqu' 300 000 de dommages et intrts.