GTK设置背景图片,背景图片平铺显示

本文介绍了一种使用GTK库在C程序中实现窗口背景图片自动缩放到屏幕大小的方法。通过获取屏幕尺寸,读取背景图片文件,调整图片大小并应用到窗口上,实现了全屏背景效果。此方法适用于需要自定义窗口背景的GTK应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gtk set background image scale

#include <gtk/gtk.h>


int main( int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *layout;
    GdkScreen *gdk_screen;
    GdkPixmap *background;

    gtk_init(&argc, &argv);

    gdk_screen = gdk_screen_get_default();
    gint screen_width = gdk_screen_get_width(gdk_screen);
    gint screen_height= gdk_screen_get_height(gdk_screen);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_fullscreen((GtkWindow*)window);

    GdkPixbuf *src_pixbuf = gdk_pixbuf_new_from_file("bk.jpg", NULL);
    GdkPixbuf *dst_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, screen_width, screen_height, GDK_INTERP_BILINEAR);

    gdk_pixbuf_render_pixmap_and_mask (dst_pixbuf, &background, NULL, 0); 
    GtkStyle *style = gtk_style_new (); 
    style->bg_pixmap[0] = background;
    gtk_widget_set_style (GTK_WIDGET(window), GTK_STYLE(style));

    gtk_widget_show_all(window);
    gtk_main();

    return 0;
}
~   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值