19,468
社区成员
发帖
与我相关
我的任务
分享
D3DXCreateTextureFromFile(m_dev, _T("logo.png"), &m_pLogoTexture);
m_dev->SetTexture(0, m_pLogoTexture);
D3DXCreateSprite(m_dev, &m_pLogoSprite);
RECT rct;
::GetWindowRect(m_wnd,&rct);
//SetRect( &rct, 0, 0, 100, 100 );
m_dev->BeginScene();
{
m_pLogoSprite->Begin(D3DXSPRITE_ALPHABLEND);
m_pLogoSprite->Draw(m_pLogoTexture, NULL, NULL, NULL, 0xffffffff);
m_pLogoSprite->End();
}
m_dev->EndScene();
D3DXMATRIX mat;
// 1440*900 渲染
D3DXMatrixTransformation2D(&mat, NULL, 0.0f, &D3DXVECTOR2(0.703f, 0.877f), NULL, 0, &D3DXVECTOR2(0.0f, 0.0f));
// 2*1920*1080
D3DXMatrixTransformation2D(&mat, NULL, 0.0f, &D3DXVECTOR2(1.0f, 0.52f), NULL, 0, &D3DXVECTOR2(0.0f, 0.0f));
经测试,1440*900的图片在1440*900分辨率的显示器上渲染需要设置 D3DXVECTOR2(0.703f, 0.877f),
3840*1080的图片在3840*1080的两个显示器上渲染需要设置 D3DXVECTOR2(1.0f, 0.52f),
这样图像才能显示完整,只是渲染出来的效果略微发虚,但还可以接受,具体什么原因还不清楚,后面再验证。