Bonjour,
Je souhaite savoir si je peux écrire des chaines de caractères sur un pixbuf facilement.
Bonjour,
Je souhaite savoir si je peux écrire des chaines de caractères sur un pixbuf facilement.
j'ai vu que pour enregistrer en jpg, il y a la fonction :
mais elle nécessite un pixbuf. Comment mettre des phrases sur un pixbuf ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part gdk_pixbuf_save(pixbuf,nom,"jpeg",NULL,"quality","100",NULL);
Pour écrire il y a les fonctions de pango :
mais comment choisir "p_drawing_area" pour que les fonctions de panga le modifie sans qu'il soit affiché et comment passer de ce widget à un pixbuf.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 p_context = gtk_widget_get_pango_context (p_drawing_area); p_layout = pango_layout_new (p_context); pango_layout_set_text (p_layout, "Hello World !", -1); gdk_draw_layout (p_drawing_area->window,p_drawing_area->style->fg_gc[GTK_WIDGET_STATE (p_drawing_area)], 0,0,p_layout); g_object_unref (p_layout);
j'ai vu d'autres fonction mais je ne suis pas sûr de leur utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void char2pixbuf(const gchar *texte, const char *nom) { GdkPixbuf *pixbuf; GtkTextBuffer *text_buffer; GtkTextIter iter; text_buffer=gtk_text_buffer_new(NULL); gtk_text_buffer_get_start_iter(text_buffer,&iter); gtk_text_buffer_set_text(GTK_TEXT_BUFFER(text_buffer),"test",-1); gtk_text_buffer_insert_pixbuf(GTK_TEXT_BUFFER(text_buffer),&iter,pixbuf); gdk_pixbuf_save(pixbuf,nom,"jpeg",NULL,"quality","100",NULL); }
je veux remplir un tableau à 3 dimension représentant une image connaissant le texte qui constitura l'image. J'avais pensé aux pixbuf mais je ne vois pas comment faire.
edit : peut-on charger une lettre contenu dans un fichier de police (.ttf) directement dans un pixbuf ?
est-ce que le fonction :
peut permettre de récupérer un texte dans un pixbuf ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part GdkPixbuf* gtk_text_iter_get_pixbuf (const GtkTextIter *iter);
Est-ce possible sans afficher le GtkTextBuffer ?
Tu dois pouvoir le faire via une surface cairo (je peux pas t'en dire plus, j'en sais guère plus![]()
Partager