2010-05-11 9 views
0

Grande image: Je veux rendre une image RVB via GTK sur un boîtier Linux. Je suis un novice GTK frustré, alors s'il vous plaît pardonnez-moi.Débutant: Rendu RGB vers GTK widget - howto?

Je suppose que je devrais créer un Drawable_area dans lequel rendre l'image - correct? Dois-je alors créer un contexte graphique attaché à cette zone? Comment?

mon application simple (qui ne traite même pas la question de rgb est encore ceci:

int main (int argc, char ** argv) {

GdkGC  * gc  = NULL; 
GtkWidget * window = NULL; 
GtkDrawingArea * dpage = NULL; 
GtkWidget * page = NULL; 

gtk_init(&argc, & argv); 

window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
page = gtk_drawing_area_new(); 
dpage = GTK_DRAWING_AREA(page); 
gtk_widget_set_size_request(page, PAGE_WIDTH, PAGE_HEIGHT); 
gc = gdk_gc_new(GTK_DRAWABLE(dpage)); 

gtk_widget_show(window); 
gtk_main(); 

return (EXIT_SUCCESS); 

}

ma dpage n'est apparemment pas un 'drawable' (bien que ce soit une zone de dessin) Je suis confus quant à a) comment obtenir/créer le contexte graphique qui est requis dans les appels de fonction suivants? b) suis-je proche d'une solution, ou suis-je si complètement * # & @ & mal qu'il n'y a pas d'espoir c) un tutoriel bébé étapes. (J'ai commencé avec bonjour monde comme base, donc j'ai obtenu que loin).

toute aide appréciée.

pb

Répondre

1

Vous devez passer par le tutoriel gribouillis au moins (http://library.gnome.org/devel/gtk-tutorial/stable/c2422.html), sinon le tutoriel plus vaste dont cette une partie.

Depuis que vous avez étiqueté votre question C++, je vous recommande d'utiliser gtkmm, vous trouverez cela beaucoup plus facile à développer si vous connaissez déjà très bien le C++. Il y a un tutoriel pour cela aussi: http://library.gnome.org/devel/gtkmm-tutorial/stable/

+0

Merci pour la réponse - grandement appréciée! Je vais passer à la gtkmm. Je suis encore un peu mystifié par le contexte graphique (un membre [dérivé] de la zone de dessin, widget, etc), mais je vais continuer à creuser. Merci. [BTW: J'aime la viande rouge]. –