J'ai un VisualBrush et j'ai besoin de ce VisualBrush en tant que Dessin. Quelqu'un sait comment cela peut-il être fait? Merci pour tout indice!WPF: Convertir VisualBrush en dessin?
2
A
Répondre
2
Votre question ne fait pas vraiment de sens, parce qu'un VisualBrush
est sans rapport avec un Drawing
(il serait plus logique avec un DrawingBrush
). Cependant, vous pouvez créer un Drawing
en utilisant le VisualBrush
pour peindre dessus. Quelque chose comme ça devrait fonctionner:
public static Drawing GetDrawing(TileBrush brush)
{
DrawingVisual drawingVisual = new DrawingVisual();
DrawingContext drawingContext = drawingVisual.RenderOpen();
drawingContext.DrawRectangle(brush, new Pen(Brushes.Transparent, 0.0), brush.ViewPort);
drawingContext.Close();
return drawingVisual.Drawing;
}
(ceci est valable pour une brosse héritée de TileBrush
, pas seulement un VisualBrush
)
5
est ici la version XAML:
<GeometryDrawing Geometry="M0,0 L1,0 1,1 0,1 Z">
<GeometryDrawing.Brush>
<VisualBrush>
...
</VisualBrush>
</GeometryDrawing.Brush>
</GeometryDrawing>
Merci pour votre réponse, regards très prometteur :-) Notez que vous pouvez simplement définir le stylo à null drawingContext.DrawRectangle (brush, null, 0.0), brush.ViewPort); –