我要快速的在多张图片中来回切换显示,我已经用GDI实现了,但是速度太慢,在网上查到用DirectX可以快速显示图片,可是没有用过,请各位高手指点一下。
PS:我已经照着网上的例子,已经实现了主表面和后台表面的等的设置。但是不知道怎么导入图片,怎么画到后台显示到主台?我的程序是基于MFC的。

解决方案 »

  1.   

    我找到了方法导入图片,但是运行后,只显示黑屏。各位帮看看是什么原因?
    方法如下:
    LPDIRECTDRAW lpdd;
    LPDIRECTDRAWSURFACE lpddSprimary
    LPDIRECTDRAWSURFACE lpddSback;
    LPDIRECTDRAWSURFACE lpddSoffscreen ;
    .......
    ....
    lpddpal = DDLoadPattle(lpdd,"BK.bmp");
    if(lpddpal!=NULL)
       lpddSback->setPalette(lpddpal);
    lpddSoffscreen = DDLoadBitmap(lpdd,"BK.bmp",0,0);
    lpddSback->BltFast(0,0,lpddSoffscreen,&rect,DDBLTFAST_SRCCOLORKEY|DDBLTFAST_WAIT);
    lpddSprimary->Flip(NULL,0);
      

  2.   

    请4楼问如何把“数据拷贝到directDraw对象上面”。我上面的做法正确吗?为什么我连一张图片都显示不呢?
      

  3.   

    SDK的示例是指在路径…\samples\C++\Direct3D\...下的示例吗?太复杂了,看不懂!能直接给个示例吗?
      

  4.   

    其实我觉得可能用D3D实现会更加好的。
    具体的可以查一下D3DXSprite这个东西,也常常被称为“2D精灵”,是DirectX8.0以及更高版本中显示2D图片的最好方法之一。支持的文件格式也很多,常见的都支持,不需要要进行任何转换。
      

  5.   

    http://down3.newasp.net/code/vc/cvery_35234592.rar给你一个地址吧...参考下吧...