GTK+中文社区(gtk.awaysoft.com)

 找回密码
 马上加入

QQ登录

只需一步,快速开始

查看: 2616|回复: 4

想用gtk做图像处理 但是又不想显示窗口

[复制链接]

该用户从未签到

发表于 2012-2-23 15:46:09 | 显示全部楼层 |阅读模式
我的需求是这样的:

  在linux下,我要实现这么一个功能:创建一个画布,然后在画布上画线或打字,最后把画布的每个像素取出来。但是整个过程不能让窗口显示出来。



如下是我写的程序:

#include <gtk/gtk.h>   

gboolean on_darea_expose (GtkWidget *widget, GdkEventExpose *event, gpointer user_data);  


int main (int argc, char *argv[])   

{   

GtkWidget *window;   

gtk_init (&argc, &argv);   

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);   

g_signal_connect (GTK_OBJECT (window), "expose-event",   

  GTK_SIGNAL_FUNC (on_darea_expose), NULL);   

gtk_widget_show_all (window);   

gtk_main ();   

return 0;   

}   


gboolean on_darea_expose (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)   

{   

GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(widget->window));  

GdkColor color;   

gdk_color_parse("darkred", &color);   

gdk_gc_set_foreground(gc, &color);   

gdk_draw_line((widget->window), gc, 10, 10,50,50);   

return TRUE;   

}   



这样确实是可以画出线来(取像素暂时先不管),但是窗口显示出来了。

倘若要窗口不显示出来怎么办?给实例源码马上给分! (不要说显示再隐藏哦,我要的是干脆不显示)
  • TA的每日心情
    奋斗
    2016-10-11 09:20
  • 签到天数: 271 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-2-23 16:32:10 | 显示全部楼层
    gtk_widget_show_all (window);
    这行删了就好。。。

    该用户从未签到

     楼主| 发表于 2012-2-24 08:57:41 | 显示全部楼层
    求高手出马! 在线等
  • TA的每日心情
    奋斗
    2016-10-11 09:20
  • 签到天数: 271 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-3-2 22:51:38 | 显示全部楼层
    你只要画啊,不需要显示出来,直接调用那个函数不就可以了?

    int main (int argc, char *argv[])  
    {  
    GtkWidget *window;  
    gtk_init (&argc, &argv);  
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);  
    on_darea_expose (window, NULL, NULL) ;
    /* write what do you want to save */
    gtk_main ();  
    return 0;  
    }

    该用户从未签到

    发表于 2012-3-16 19:37:21 | 显示全部楼层
    把GTK_WINDOW_TOPLEVEL改为GTK_WINDOW_POPUP,这样可以去掉窗口管理

    内容来自[手机版]
    *滑块验证:
    您需要登录后才可以回帖 登录 | 马上加入

    本版积分规则

    申请友链|Archiver|小黑屋|手机版|GTK+中文社区 ( 粤ICP备13080851号 )

    我要啦免费统计

    GMT+8, 2024-4-30 01:28 , Processed in 0.039387 second(s), 7 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表