QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 828|回复: 0

屏幕抓到了,但是利用ximage时又出错:(

[复制链接]
发表于 2006-3-10 12:47:10 | 显示全部楼层 |阅读模式
接着前帖 http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=148585
屏幕是抓到了,但是利用XpmCreateDataFromImage生成的Xpm数据,却不能被gdk_pixbuf_new_from_xpm_data使用,提示“Inline XPM data is broken”。感觉不应该啊?
code如下:
[code:1]Window desktop;
    Display *dsp;
    XImage *img;
    int w,h;
    char **data ;
   
    dsp=XOpenDisplay(NULL);
    if(!dsp)
    {
        printf("XOpenDisplay error\n");
        return;
    }
    desktop=RootWindow(dsp,0);
    if(!desktop)
    {
        printf("cannot get root window\n");
        return;
    }
    w=DisplayWidth(dsp,0);
    h=DisplayHeight(dsp,0);
    img=XGetImage(dsp,desktop,0,0,w,h,~0,ZPixmap);
    XpmCreateDataFromImage(dsp, data, img, NULL, NULL);

    pixbuf1 = gdk_pixbuf_new_from_xpm_data(data);
   
    if (pixbuf1 == NULL) {
      g_print ("Can't load image \n !!");
    }

    XDestroyImage(img);
    XCloseDisplay(dsp);
[/code:1]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 20:32 , Processed in 0.038403 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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