tin-dong
20-06-2005, 13:30
Hi Leute,
könnte jemand ein GTK-Beispielcode posten mit dem man ein Bild, welches sich noch im ram befindet (also noch nicht als Datei gespeichert ist) in einem Window wieder ausgibt! Ich sitze schon seit Wochen vor dem Problem und komme nicht weiter. Das Bild habe ich als RAW-Datensatz kann es aber auch als RGB und YUV konvertieren.
Ich hoffe Ihr könnt mir helfen
tin-dong
Hallo.
Wie man Bilder im RAW,RGB oder YUV Format anzeigen kann weiss ich leider nicht, ich weiss nicht mal was das für Bild-Formate sind.
Ich habe hier nur ein Beispiel wie man bilder im Pixmap-Format anzeigen kann:
/*gcc image.c -o image `gtk-config --cflags --libs`*/
#include <gtk/gtk.h>
/* XPM */
static char *dummy[]={
"24 24 12 1",
". c None",
"# c #000000",
"e c #000083",
"g c #0000ff",
"a c #008100",
"c c #00ff00",
"i c #838100",
"h c #838183",
"d c #ff0000",
"b c #ff00ff",
"f c #ffff00",
"j c #ffffff",
"........................",
"########################",
"#aaaaaaa#bbbbbbb#cccccc#",
"#aaaaaaa#bbbbbbb#cccccc#",
"#aaaaaaa#bbbbbbb#cccccc#",
"#aaaaaaa#bbbbbbb#cccccc#",
"#aaaaaaa#bbbbbbb#cccccc#",
"#aaaaaaa#bbbbbbb#cccccc#",
"########################",
"#ddddddd#eeeeeee#ffffff#",
"#ddddddd#eeeeeee#ffffff#",
"#ddddddd#eeeeeee#ffffff#",
"#ddddddd#eeeeeee#ffffff#",
"#ddddddd#eeeeeee#ffffff#",
"#ddddddd#eeeeeee#ffffff#",
"########################",
"#ggggggg#hhhhhhh#iiiiii#",
"#ggggggg#hhhhhhh#iiiiii#",
"#ggggggg#hhhhhhh#iiiiii#",
"#ggggggg#hhhhhhh#iiiiii#",
"#ggggggg#hhhhhhh#iiiiii#",
"#ggggggg#hhhhhhh#iiiiii#",
"########################",
"jjjjjjjjjjjjjjjjjjjjjjjj"};
int main( int argc, char *argv[] )
{
GtkWidget *window, *image;
GdkPixmap *pixmap1,*pixmap2;
GdkColor color;
GdkBitmap *mask;
GtkStyle *style;
gtk_init( &argc, &argv );
window = gtk_window_new( GTK_WINDOW_TOPLEVEL);
style = gtk_widget_get_style(window);
color.red=0;
color.blue=0;
color.green=0;
/*Im Speicher, braucht nur Zeiger auf die Stelle wo sich das Bild befindet*/
pixmap1=gdk_pixmap_create_from_xpm_d(window->window,&mask,&style->bg[GTK_STATE_NORMAL],(gchar **)dummy);
/*Oder als Datei, der Name der Datei ist erfordelich*/
//pixmap2=gdk_pixmap_create_from_xpm(window->window,&mask,&color,"dummy.xpm");
image = gtk_pixmap_new( pixmap1, mask );
gtk_container_add( GTK_CONTAINER( window ), image );
gtk_widget_show_all( window );
gtk_main();
return 0;
}
tin-dong
30-06-2005, 12:34
Alles klar Viel Dank!!!
tin-dong
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.