• gtk中构件添加背景图


    在gtk中我们总想要去给构件添加背景图,具体函数代码如下

    void chang_background(GtkWidget *widget, int w, int h, const gcha    r *path)
     12 {                       
     13     gtk_widget_set_app_paintable(widget, TRUE);     //允许窗口可>    以绘图
     14     gtk_widget_realize(widget);
     15                         
     16     /* 更改背景图时,图片会重叠
     17      * 这时要手动调用下面的函数,让窗口绘图区域失效,产生窗口重绘
        制事件(即 expose 事件)。
     18      */                 
     19     gtk_widget_queue_draw(widget);
     20                         
     21     GdkPixbuf *src_pixbuf = gdk_pixbuf_new_from_file(path, NULL);       // 创建图片资源对象
     22     // w, h是指定图片的宽度和高度
     23     GdkPixbuf *dst_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, w    , h, GDK_INTERP_BILINEAR);
     24                         
     25     GdkPixmap *pixmap = NULL;
     26                         
     27     /* 创建pixmap图像;  
     28      * NULL:不需要蒙版;
     29      * 123: 0~255,透明到不透明
     30      */                 
     31     gdk_pixbuf_render_pixmap_and_mask(dst_pixbuf, &pixmap, NULL,     128);
     32     // 通过pixmap给widget设置一张背景图,最后一个参数必须为: FASL    E
     33     gdk_window_set_back_pixmap(widget->window, pixmap, FALSE);
     34                         
     35     // 释放资源         
     36     g_object_unref(src_pixbuf);
     37     g_object_unref(dst_pixbuf);
     38     g_object_unref(pixmap);
     39 }                       

    在主函数中调用该函数就行,也可以自己写一个头文件

    原文链接: https://blog.csdn.net/tennysonsky/article/details/43154601

    笨鸟先飞
  • 相关阅读:
    AUTOSAR-文档阅读
    前端 html
    http协议
    python格式化输出
    IO模型
    协程函数
    伟大的GIL
    苑之歌(进程,线程)
    python之模块导入和包
    任性计算器
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/12550498.html
Copyright © 2020-2023  润新知