J'ai obtenu une fonction de peinture qui fonctionne en utilisant un contexte de Caire et le résultat final devrait être un GtkImage (sans création d'image intermédiaire). J'ai essayé d'utiliser la fonction gdk_cairo_create, mais ce code:Comment créer une image GtkImage à partir d'un contexte Cairo?
...
GdkPixbuf *pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 22, 22);
GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);
GdkDrawable *drawable = image->window;
cairo_t *ctx = gdk_cairo_create (drawable);
my_cairo_paint_function (ctx);
...
échoue avec:
Gdk CRITIQUES **: IA__gdk_cairo_create: affirmation `GDK_IS_DRAWABLE (étirables) » n'a pas pu
même avec un simple:
#include <gtk/gtk.h>
#include <cairo.h>
int
main (int argc, char *argv[])
{
gtk_init(&argc, &argv);
cairo_t *ctx = gdk_cairo_create (gtk_widget_get_window (gtk_image_new_from_file ("foobar.png")));
gtk_main();
return 0;
}
Je ne comprends pas pourquoi cela échoue. Toute aide est appréciée!
Merci! Je viens de découvrir à la dure qu'il ne suffit pas de google autour du code existant pour faire fonctionner les applications Gtk. J'essaierai d'acquérir des connaissances de base en utilisant le [manuel de programmation] officiel (http://developer.gnome.org/doc/GGAD/ggad.html). – Zurbo82
Ce manuel est vraiment vieux. Comme vous pouvez le voir sur la page d'accueil de http://developer.gnome.org, ils travaillent sur un nouveau site de développement. Il est supposé qu'il y ait de nouveaux exemples de programmation programmés par des personnes compétentes dans ce dépôt: http://git.gnome.org/browse/gnome-devel-docs/tree/demos/C Ceux-ci vont aller sur le nouveau site, mais Je ne les ai pas encore vraiment regardés, donc je ne peux pas dire jusqu'où ils sont. – ptomato