当前位置:  技术问答>linux和unix

gtk 背景图片的问题

    来源: 互联网  发布时间:2016-09-28

    本文导语:           GdkPixbuf *pixbuf = NULL;   GdkPixmap *pixmap = NULL;   GtkWidget *image = NULL;   GdkPixbuf* scaled = NULL;       gtk_widget_set_app_paintable(window,TRUE);       gtk_widget_realize (window);       /* load background */   ...

      
  GdkPixbuf *pixbuf = NULL;
  GdkPixmap *pixmap = NULL;
  GtkWidget *image = NULL;
  GdkPixbuf* scaled = NULL;


      gtk_widget_set_app_paintable(window,TRUE);
      gtk_widget_realize (window);

      /* load background */
      pixbuf = gdk_pixbuf_new_from_file (background,NULL);
      image = gtk_image_new_from_pixbuf (pixbuf);

      int src_w = gdk_pixbuf_get_width(pixbuf);
      int src_h = gdk_pixbuf_get_height(pixbuf);
      int dest_w = gdk_screen_get_width(gtk_widget_get_screen(window));
      int dest_h = gdk_screen_get_height(gtk_widget_get_screen(window));

      if( src_w != dest_w || src_h != dest_h )
      {
              scaled = gdk_pixbuf_scale_simple( pixbuf, dest_w, dest_h, GDK_INTERP_BILINEAR );
              g_object_unref( pixbuf );
              pixbuf = scaled;
      }

      pixmap = gdk_pixmap_new (window->window, dest_w, dest_h, -1);
      gdk_pixbuf_render_to_drawable(pixbuf, pixmap,
                      (window)->style->fg_gc[GTK_STATE_NORMAL],
                      0,0,0,0,
                      dest_w,
                      dest_h,
                      GDK_RGB_DITHER_NORMAL,0,0);
      g_object_unref(pixbuf);
      gdk_window_set_back_pixmap ( (GtkWidget*)window->window, pixmap, FALSE);

  gdk_window_clear( window->window );
  gtk_widget_queue_draw(window);



用这种方法给window背景绘图,程序运行正常,可是当改变linux主题的时候或出现背景图变成白色的情况,为什么会这样?怎么解决,谢谢

|
是因为你的Linux系统没有安装gd库   如果是CentOS使用  yum install gd gd-devel    

然后编译PHP时加上--with-gd 就可以了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 【重要】gtk+ 编译gtk+的问题,不同于一般gtk的搭建--1000分,问题解决了,开号给分,决不食言!大家都来看看
  • 关于gtk的目录问题,我的目录是 gtk-2.0/gtk/gtk.h ??
  • Redhat linux9.0 下Gtk+编程的#include <gtk/gtk.h>问题
  • [GTK] gtk最小化问题与恢复问题
  • gtk for win 和 gtk for linux 下的程序问题?
  • GTK+ gtk_tree问题
  • 【gtk+】初学gtk+,请教一个问题
  • 【gtk】关于gtk布局问题
  • 关于GTK中gtk_widget_hide()的问题
  • gtk编程问题,如何在一个线程中向gtk控件发送一个expose_event消息
  • gtk编程中关于gtk_widget_show函数的问题
  • 新手问题:gtk+-2.0.0.tar.gz和gtk+-2.0.0.tar.bz2这两个文件是什么关系啊?
  • gtk+编译没有问题,运行的时候出问题,就是这句gtk_widget_show_all(window);请各位帮忙解答,谢谢
  • GTK 界面编程有问题,求解
  • gtk的问题.
  • gtk问题!
  • GTK编译问题.
  • gtk 窗口模式 怪问题(100分)
  • GTK编程问题
  • gtk+2.0安装问题
  • gtk 和 gtk+ 有什么区别?
  • centos5.4中安装gtk时,yum库最新版是gtk2.10,如何更新yum库安装gtk2.12
  • 我使用GTK+2.0写界面程序时,怎么找不到gtk.h文件?
  • GTK窗口前端显示及GTK窗口闪烁
  • 用GTK开发的程序如何在没有GTK动态连接库的Linux里运行?
  • WEB前端 iis7站长之家
  • 我想学习GTK+2.0,请问如何准备GTK编程环境???
  • 本人刚学gtk编程,留下油箱,欢迎喜欢gtk编程的朋友和我交流啊!!!!
  • 大家好,想知道gtk与gtk+有什么区别?
  • gtk中如何获取gtk_text_view中的输入内容?
  • GTK+中类似gtk_hbox_new这样的给构件分配内存的函数 为什么不用手动释放?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3