2013-03-05 62 views
0

我需要將一些C++應用程序移植到Windows Phone 8(它已經在Android,iOS,WinCE和Win32上)。目前我需要解決如何顯示圖形。我可以從核心應用程序呈現位圖,並且在成功初始化DirectXTK之後,我可以呈現一些DDS紋理(DirectXTK :: SpriteBatch)。現在我需要將我的位圖轉換爲紋理,然後渲染它。你能幫我解決這個問題嗎?或者有什麼方法可以將位圖直接放到後臺緩衝區並在沒有SpriteBatch的情況下在顯示屏上顯示?在DirectXTK中將位圖渲染到SpriteBatch

非常感謝您

托馬斯

回答

0

的DirectX工具包具有WICTextureLoader。您可以使用它來代替DDSTextureLoader來加載.bmp(位圖)文件。希望這個幫助!

http://directxtk.codeplex.com/wikipage?title=WICTextureLoader&referringTitle=DirectXTK

+0

WicTextureLoader無法在Windows Phone 8 – robwirving 2014-01-29 03:24:27

+0

源再使用:WIC Windows Phone上的未被支撐的8 http://msdn.microsoft.com/en -us/library/windowsphone/develop/jj662930(v = vs.105).aspx – robwirving 2014-01-30 14:23:35

+0

請注意,Windows Phone 8.1支持WICTextureLoader – 2014-07-25 19:03:24

0

由於WICTextureLoader不支持Windows Phone 8的渲染位圖到紋理的唯一途徑是通過映射紋理的CPU和你的位圖資源複製到貼圖紋理的資源。

ID3D11DeviceContext ::地圖() http://msdn.microsoft.com/en-us/library/windows/desktop/ff476457(v=vs.85).aspx

D3D11_MAPPED_SUBRESOURCE mappedBuffer; 
HRESULT hr = pContext->Map(pTexture, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedBuffer); 

if(hr == S_OK) 
{ 
    // copy your bitmap onto mappedBuffer.pData 
    ... 

    pContext->Unmap(pTex, 0); 
}