游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3761|回复: 8

请问在DX中创建“离屏表面“的时候容易出现什么错误?

[复制链接]

21

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2005-2-21 14:02:00 | 显示全部楼层 |阅读模式
我的程序总是创建离屏表面失败,请问可能是什么错误???
程序段如下:
LPDIRECTDRAW lpdd;//DIRECTDRAW对象
LPDIRECTDRAWSURFACE lpddsoffscreen;//离屏表面,存放图像的表面
LPDIRECTDRAWPALETTE lpddpal;//调色板

DDSURFACEDESC ddsdoffscreen;
ddsdoffscreen.dwFlags = DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH;
ddsdoffscreen.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsdoffscreen.dwWidth = 640;
ddsdoffscreen.dwHeight = 480;
if(lpdd->CreateSurface(&ddsdoffscreen, &lpddsoffscreen, NULL)!= DD_OK)
        return FALSE;


请问,为何不能创建离屏表面,谢谢!!!!! [em17] [em17]

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-2-21 14:14:00 | 显示全部楼层

Re:请问在DIRECTX中创建“离屏表面“的时候容易出现什么

结构体的size没填

21

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2005-2-21 17:20:00 | 显示全部楼层

Re:请问在DIRECTX中创建“离屏表面“的时候容易出现什么

谢谢!

21

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2005-2-21 17:23:00 | 显示全部楼层

Re:请问在DIRECTX中创建“离屏表面“的时候容易出现什么

还有个问题,上面的问题解决了后,我把图片放上去了,但是程序执行的时候是花屏,请问是怎么回事,是不是应该设定刷新率??在哪里设定?

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-2-21 18:38:00 | 显示全部楼层

Re:请问在DIRECTX中创建“离屏表面“的时候容易出现什么

调色板没上,,显示的当然花

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-2-21 18:39:00 | 显示全部楼层

Re:请问在DIRECTX中创建“离屏表面“的时候容易出现什么

或者显示颜色数不匹配也是有可能的

21

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2005-2-23 15:30:00 | 显示全部楼层

Re:请问在DX中创建“离屏表面“的时候容易出现什么错误?

首先感谢!

以下是我的载入调色板段代码!
lpddsprimary是前台页面
编译什么的都没问题!
lpddpal = DDLoadPalette(lpdd, "mmm.bmp");

    if(lpddpal)
                lpddsprimary->SetPalette(lpddpal);
       
        lpddsoffscreen = DDLoadBitmap(lpdd, "mmm.bmp", 0, 0);
        rect.left = 0;
        rect.top = 0;
        rect.right = 640;
        rect.bottom = 480;

        lpddsback->BltFast(0, 0, lpddsoffscreen, &rect, DDBLTFAST_SRCCOLORKEY|DDBLTFAST_WAIT);

请问,“显示颜色不匹配“是什么意思?       

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2005-2-23 22:44:00 | 显示全部楼层

Re:请问在DX中创建“离屏表面“的时候容易出现什么错误?

“显示颜色不匹配“

      就是说你把位图装入色彩深度不匹配的表面中,举个例子:你可能把一个24位位图装入16位表面中,这样就会出现画屏,因为一个是用3字节表示一个点,一个是用2字节表示一个点,所以对应不上!

21

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2005-2-25 12:55:00 | 显示全部楼层

Re:请问在DX中创建“离屏表面“的时候容易出现什么错误?

那怎么才能知道一幅图的色彩深度!!!?
如何测定??
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-24 11:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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