2013-07-31 4 views
0

В моем приложении Windows Store мне нужно нарисовать геометрию пути с помощью Direct2D на C++. В моем сценарии вместо использования базового объекта Polyline я перехожу на Direct2D для повышения производительности в своем приложении. Поэтому мое приложение C# будет связываться с компонентом C++ для чертежа Direct2D.Как визуализировать геометрию пути без Window Handle с помощью Windows Store C++

This ссылка помогла получить дополнительную информацию о чертеже Direct2D для PathGeometry. Но он рисует геометрию в Window Handle, но вместо того, чтобы использовать дескриптор Window, мне нужно, чтобы рисунок выполнялся как обычный рендеринг UIElement. Есть ли образец, доступный через сеть, для решения моей проблемы?

ответ

0

Мы должны использовать фабрику, которая создала SurfaceImageSource; Мы не должны создавать новую фабрику. Поэтому у нас будет такой код:

ID2D1Factory *pFactory=nullptr; 
d2dDevice->GetFactory(&pFactory); 
ID2D1GeometrySink *pSink = NULL; 
ID2D1PathGeometry *pPathGeometry=NULL; 
// Create a path geometry. 
HRESULT hr = pFactory->CreatePathGeometry(&pPathGeometry); 

Наконец-то он решил мою проблему.

1

Есть примеры для интеграции с DirectX/XAML, и я думаю, что может даже быть шаблон проекта VS для интеграции этих, который включает в себя код Direct2D, хотя, возможно, в одном проекте natice natice, тогда как вам нужно будет создать собственный WinRT компонент, который предоставляет C++/CX API вашему приложению, чтобы разместить либо SwapChainPanel (лучший вариант, но требует Windows 8.1), SwapChainBackgroundPanel (хороший вариант, но только в полноэкранном режиме) или SurfaceImageSource.

+0

Могу ли я получить любые доступные образцы для рисования PathGeometry с использованием SurfaceImageSource? –

+0

Родной или SharpDX? –

+0

Родной. Mr.Filip. –