只要创建纹理时这样写[来源:GameRes.com]:
HRESULT hr = E_FAIL;
D3DXIMAGE_INFO info;
D3DXGetImageInfoFromFile("Media\\亭子.png", &info);
// 其中D3DFMT_FROM_FILE和D3DX_FILTER_NONE是关键
hr = D3DXCreateTextureFromFileEx(
m_pD3DDevice,
"Media\\亭子.png",
info.Width,
info.Height,
D3DFMT_FROM_FILE,
0,
D3DFMT_A8R8G8B8,
D3DPOOL_MANAGED,
D3DX_FILTER_NONE,
D3DX_DEFAULT,
0,
NULL,
NULL,
&m_pTexture);
这样:不管你的图片尺寸是什么样的,都将被清晰的渲染出来。
这给2D游戏的开发、界面编程带来了极大的方便,也避免了空间浪费。
再也不用为图片尺寸而发愁了。 |