游戏开发论坛

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

使用IDirect3DTexture9::LockRect怎么改变不了缓冲区中的值?

[复制链接]

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2009-11-18 13:38:00 | 显示全部楼层 |阅读模式
我想用IDirect3DTexture9:ockRect改变从硬盘中载入图片的颜色。

代码如下:
//*******************************
//载入 200*200的1.jpg
D3DXCreateTextureFromFileEx(m_pIDirect3DDevice,L"1.jpg",200,200,D3DX_FROM_FILE,0,
                D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,D3DX_FILTER_NONE,D3DX_FILTER_NONE,D3DCOLOR_RGBA(0,0,0,0),NULL,NULL,&pTexture);


D3DLOCKED_RECT lr;
Texture->pTexture->LockRect(0,&lr,NULL,0);
unsigned char* ch=new unsigned char[200*200*4];
for(int i=0;i<200*200*4;i++)
{
        ch=255;
}
memcpy(lr.pBits,ch,sizeof(ch));
delete[] ch;
Texture->pTexture->UnlockRect(0);


Render();

//*******************************
按照上面得做法因该是在屏幕上出现一张白色的图片,但是渲染出来和原始图片(硬盘上保存的样子)一样。
不知道哪里出了问题。
请高手指教。

谢谢!!

5

主题

46

帖子

55

积分

注册会员

Rank: 2

积分
55
QQ
发表于 2009-11-18 13:57:00 | 显示全部楼层

Re:使用IDirect3DTexture9::LockRect怎么改变不了缓冲区中的值?

sizeof(ch)

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2009-11-18 16:59:00 | 显示全部楼层

Re:使用IDirect3DTexture9::LockRect怎么改变不了缓冲区中的值?

谢了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 01:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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