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

关于用XImage显示图像的错误,请各位大哥帮帮忙!

    来源: 互联网  发布时间:2015-05-22

    本文导语:  我现在是想把一个320*240的RAW的图显示出来,现在XCreateImage返回值正确,但是XPutImage函数返回值为0。不知是什么地方错了。以下是我的代码。 XImage *m_ximage; Display *display; Colormap colormap; XColor xcol; XGCValues gcValues; GC g...

我现在是想把一个320*240的RAW的图显示出来,现在XCreateImage返回值正确,但是XPutImage函数返回值为0。不知是什么地方错了。以下是我的代码。

XImage *m_ximage;
Display *display;
Colormap colormap;
XColor xcol;
XGCValues gcValues;
GC gc;
XSetWindowAttributes arrt;
int screen;
int width,height;
int bpp;
int fd;
Visual *visual;
unsigned int imagedepth;
int hr;

fd=open("/mnt/k.raw",O_RDWR);
read(fd,ImgBuf,77596);
width=320;
height=240;

display= XOpenDisplay("0:0");
screen=DefaultScreen( display );

colormap=DefaultColormap( display, screen );
xcol.red= xcol.blue=0xffff;
xcol.green=0;
xcol.flags=DoRed | DoBlue | DoGreen;
XAllocColor(display,colormap,&xcol);

gc=XCreateGC( display,this,0,&gcValues);
XSetForeground( display, gc, xcol.pixel );
XSetBackground( display, gc, xcol.pixel );
XFlush( display );

visual=DefaultVisual( display,screen );
imagedepth=DefaultDepth( display,screen );
bpp=(imagedepth+7)/8;
m_ximage=XCreateImage( display, visual,imagedepth, ZPixmap, 0, 
                       ImgBuf, width,height, 8, width * bpp );

if ( m_ximage!=NULL )
{
hr=XPutImage( display,this,gc,m_ximage,10,10,
                       0,0,width,height );//this是对话框
XFlush( display );
}     
else     
{
        QMessageBox::information( this,"Error",
                      "Create XImage error.");     
}

|
up

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • linux中标准c如何将XImage对象数据保存到bmp或jpg文件


  • 站内导航:


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

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

    浙ICP备11055608号-3