Как отобразить геометрию пути без дескриптора окна с помощью переполнения стека в Магазине Windows

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

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

0

Решение

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

1

Другие решения

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

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

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

0

По вопросам рекламы [email protected]