¿Cómo convierto un pincel XAML en un pincel Direct2D?

Estoy trabajando en una aplicación Metro Style. En Metro puedes mezclar XAML y DirectX. Estoy creando un control de usuario XAML que usa una superficie compartida para representar contenido en Direct2D. Quiero poder especificar un pincel en XAML que pueda usar para rellenar una geometría en Direct2D.

Creo que lo que necesito poder hacer es convertir un Windows::UI::Xaml::Media::Cepillo en una ID2D1Brocha.

preguntado el 12 de junio de 12 a las 16:06

1 Respuestas

Las interfaces Direct2D tienen una estrecha correspondencia con las clases XAML. Sin embargo, hay varias cosas que no podrá copiar o emular con solo un ID2D1Brush, Tales como Transform vs RelativeTransform. Las cosas empeoran mucho si miras cosas como TileBrush or LinearGradientBrush.MappingMode. Necesitarías crear tu propio contenedor para ID2D1RenderTarget que tomó en cuenta más factores de los que generalmente están disponibles de otra manera.

Direct2D es una API de dibujo de bajo nivel, mientras que las clases XAML son parte de un marco de presentación/UI más grande (es WPF/Silverlight reducido). Si no le preocupan las propiedades que no se pueden copiar o emular, simplemente cree algunos métodos de utilidad estáticos para convertir entre los dos.

Respondido el 12 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.