游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7611|回复: 3

关于LP_BITMAPX::GetSurface()的问题

[复制链接]

2

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2007-3-16 13:29:00 | 显示全部楼层 |阅读模式
LP_BITMAPX::GetSurface()这个函数总是返回无效指针,是什么原因?是bug吗?

比如我如下调用:
LPDIRECTDRAWSURFACE7 lpSurface;
LP_BITMAPX lpHohoBitmap = GetGraphics()->CreateBitmap( 100, 100 );
lpSurface = lpHohoBitmap->GetSurface();
lpSurface->GetDC( &hdc );
这个lpSurface是无效指针,因此运行到
lpSurface->GetDC( &hdc )时就是非法访问.


这个问题有人遇到过吗?困扰了我很久,高人来帮帮忙吧.谢谢

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2007-3-16 19:11:00 | 显示全部楼层

Re:关于LP_BITMAPX::GetSurface()的问题

GetGraphics()->CreateBitmap创建出来的不是DX的surface。

HoHo内部管理了图形数据。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2007-3-16 19:16:00 | 显示全部楼层

Re:关于LP_BITMAPX::GetSurface()的问题

lpHohoBitmap->GetBuffer()
可以获取到数据缓冲,你可以lock你创建的surface,把数据缓冲再写入surface。

2

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2007-3-20 12:52:00 | 显示全部楼层

Re: Re:关于LP_BITMAPX::GetSurface()的问题

sea_bug: Re:关于LP_BITMAPX::GetSurface()的问题

GetGraphics()->CreateBitmap创建出来的不是DX的surface。

HoHo内部管理了图形数据。

GetGraphics()->CreateBitmap创建出来的不是DX的surface,是LP_BITMAPX指针,

而HoHo的文档中这么写着:
LPDIRECTDRAWSURFACE7 GetSurface( void );
Describe: 获取位图的DirectDraw表面
Return: 表面句柄
因此从LP_BITMAPX应该可以得到DX的surface才对.
我是这么理解的,但是行不通.很疑惑
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-29 00:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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