游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2592|回复: 2

D3D如何?得surface的pixel

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2007-7-19 21:38:00 | 显示全部楼层 |阅读模式
D3D如何?得surface的pixel?我的做法???
我GetDC後,?得hr=D3DERR_INVALIDCALL

void CAppDrawAdv:ivideGrid()
{
LPDIRECT3DSURFACE9 surface=NULL;
D3DDISPLAYMODE display;

m_pD3DDevice->GetDisplayMode(0,&display);
m_pD3DDevice->CreateOffscreenPlainSurface(display.Width,display.Height,D3DFMT_R8G8B8,D3DPOOL_DEFAULT,&surface,NULL);
m_pD3DDevice->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&surface);
D3DXSaveSurfaceToFile(L"file.bmp",D3DXIFF_BMP,surface,NULL,NULL);

HDC dc;
HRESULT hr=surface->GetDC(&dc);//hr=-2005530516

COLORREF color=GetPixel(dc,0,0);
USHORT r=GetRValue(color);
USHORT g=GetGValue(color);
USHORT b=GetBValue(color);

surface->Release();
}

hr=-2005530516
HRESULT: 0x8876086c (2289436780)
Name: D3DERR_INVALIDCALL
Description: Invalid call
Severity code: Failed
Facility Code: FACILITY_D3D (2166)
Error Code: 0x086c (2156)

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2007-7-20 15:07:00 | 显示全部楼层

Re:D3D如何?得surface的pixel

LPDIRECT3DSURFACE9 surface=NULL;

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-7-20 16:42:00 | 显示全部楼层

Re:D3D如何?得surface的pixel

pTex->LockRect();
可以得到
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 19:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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