当前位置: 技术问答>linux和unix
在Linux的XWindows 中显示一个.gif图片(2)
来源: 互联网 发布时间:2015-10-27
本文导语: to: yyy790601,太谢谢你啦,:) 那个帖子已经结帖了。 图片显示问题搞定拉,用vbox可以显示。 但是,图片太小只能居中显示,如何让图片拉伸从而充满整个屏幕呢??就像windows的桌面背景一样可以控制。 代码如...
to: yyy790601,太谢谢你啦,:) 那个帖子已经结帖了。
图片显示问题搞定拉,用vbox可以显示。
但是,图片太小只能居中显示,如何让图片拉伸从而充满整个屏幕呢??就像windows的桌面背景一样可以控制。
代码如下:
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *image;
GtkWidget *event_box;
//gy add
GtkWidget *vbox;
GdkPixbufAnimation *anim_pixbuf;
gtk_init (&argc, &argv);
anim_pixbuf = gdk_pixbuf_animation_new_from_file("bubu.gif", NULL);
image = gtk_image_new_from_animation(anim_pixbuf);
//gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_default_size(window,800,600);
event_box=gtk_event_box_new();
//gy add
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add(GTK_CONTAINER(window),vbox);
gtk_widget_set_events (vbox, GDK_BUTTON_PRESS_MASK);
g_signal_connect (G_OBJECT (vbox), "button_press_event",
G_CALLBACK (run), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
//image = gtk_image_new_from_file ("bubu.gif");
//modified
gtk_container_add (GTK_CONTAINER (vbox), image);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
图片显示问题搞定拉,用vbox可以显示。
但是,图片太小只能居中显示,如何让图片拉伸从而充满整个屏幕呢??就像windows的桌面背景一样可以控制。
代码如下:
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *image;
GtkWidget *event_box;
//gy add
GtkWidget *vbox;
GdkPixbufAnimation *anim_pixbuf;
gtk_init (&argc, &argv);
anim_pixbuf = gdk_pixbuf_animation_new_from_file("bubu.gif", NULL);
image = gtk_image_new_from_animation(anim_pixbuf);
//gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_default_size(window,800,600);
event_box=gtk_event_box_new();
//gy add
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add(GTK_CONTAINER(window),vbox);
gtk_widget_set_events (vbox, GDK_BUTTON_PRESS_MASK);
g_signal_connect (G_OBJECT (vbox), "button_press_event",
G_CALLBACK (run), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
//image = gtk_image_new_from_file ("bubu.gif");
//modified
gtk_container_add (GTK_CONTAINER (vbox), image);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
|
这两天我试了下,也没解决这个问题。不过还没使用调整对象。
而且如果把图片放大,效果肯定不好,推荐用一个800×600的图片算了,汗。。。。
而且如果把图片放大,效果肯定不好,推荐用一个800×600的图片算了,汗。。。。