jijiz | Bonjour Bonjour,
Voici ce que je souhaite faire :
1 Charger un png
2 cliquer 4 points sur l'image
3 Créer un masque (quadrilatère) afin de faire un et logique avec mon image
4 Sauvegarder l'image
Ce que j'ai réussi à faire :
a) Charger le png dans un GTK_IMAGE
b) Enregistrer un pixbuf
c) j'ai les coordonnées de mon quadrilatère
Ce que je ne comprends pas :
Le masque doit être un gdk_pixmap, gtk_pixmap, gdk_pixbuf, gtk_pixbuf?
Pour le et logique, mon image originale doit être un gdk_pixmap, gtk_pixmap, gdk_pixbuf, gtk_pixbuf?
Le cooooode :
Code :
- // On récupère l'image dans un pixbuf
- if ( !(pix_buf = gtk_image_get_pixbuf(GTK_IMAGE(ps_Struct->p_image[i]))))
- {
- printf("Erreur get pixbuf 1\n" );
- }
- // Creation du masque (pixmap), myWin est un gdk_window, a priori le parent on s'en fout puisque c'est pour le ET logique
- if (!( pix_map = gdk_pixmap_new(myWin,
- gdk_pixbuf_get_width(GDK_PIXBUF(pix_buf)),
- gdk_pixbuf_get_height(GDK_PIXBUF(pix_buf)),
- gdk_visual_get_system()->depth)))
- {
- printf("Erreur new pixmap\n" );
- }
- // Dessin de mon quadrilatere sur le masque :
- gdk_draw_rectangle (pix_map,
- pWidget->style->white_gc,
- TRUE,
- 0, 0, 40, 40);
- // Comment convoluer mon masque avec l'image? dois-je avoir 2 pixbuf ou 2 pixmap?
-
- // Enregistrement du pixbuf :
- if( !gdk_pixbuf_save(pix_buf, c_chemin_complet, "jpeg", (GError **) err, "quality", "100", NULL) )
- {
- printf("Erreur save pixbuf\n" );
- }
|
Je craque, j'ai vraiment du mal à saisir le mécanisme de dessin GTK Message édité par jijiz le 28-04-2008 à 10:59:29
|