A
Anthony Paul
Hello everyone,
I have an issue where I'm creating a visuals container to host some
lightweight visuals, but when I apply transforms to the individual
visuals they go buggers.
First, I downloaded the MS sample code located at the bottom of the
following page :
http://msdn.microsoft.com/en-us/library/system.windows.media.visualcollection.aspx
I modify the "CreateDrawingVisualText" and add the following line
right after the call to RenderOpen :
drawingContext.PushTransform(new ScaleTransform(-1, 1, 0.5, 0.5)); //
inverts horizontally
and finally add the following line right before the call to Close :
drawingContext.Pop();
The method should now look as follows :
private DrawingVisual CreateDrawingVisualText()
{
// Create an instance of a DrawingVisual.
DrawingVisual drawingVisual = new DrawingVisual();
// Retrieve the DrawingContext from the DrawingVisual.
DrawingContext drawingContext =
drawingVisual.RenderOpen();
drawingContext.PushTransform(new ScaleTransform(-1, 1,
0.5, 0.5));
// Draw a formatted text string into the DrawingContext.
drawingContext.DrawText(
new FormattedText("Click Me!",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Verdana"),
36, System.Windows.Media.Brushes.Black),
new System.Windows.Point(200, 116));
// Close the DrawingContext to persist changes to the
DrawingVisual.
drawingContext.Pop();
drawingContext.Close();
return drawingVisual;
}
note : feel free to try any type of transform; they simply won't work!
Any thoughts?
Regards,
Anthony
I have an issue where I'm creating a visuals container to host some
lightweight visuals, but when I apply transforms to the individual
visuals they go buggers.
First, I downloaded the MS sample code located at the bottom of the
following page :
http://msdn.microsoft.com/en-us/library/system.windows.media.visualcollection.aspx
I modify the "CreateDrawingVisualText" and add the following line
right after the call to RenderOpen :
drawingContext.PushTransform(new ScaleTransform(-1, 1, 0.5, 0.5)); //
inverts horizontally
and finally add the following line right before the call to Close :
drawingContext.Pop();
The method should now look as follows :
private DrawingVisual CreateDrawingVisualText()
{
// Create an instance of a DrawingVisual.
DrawingVisual drawingVisual = new DrawingVisual();
// Retrieve the DrawingContext from the DrawingVisual.
DrawingContext drawingContext =
drawingVisual.RenderOpen();
drawingContext.PushTransform(new ScaleTransform(-1, 1,
0.5, 0.5));
// Draw a formatted text string into the DrawingContext.
drawingContext.DrawText(
new FormattedText("Click Me!",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Verdana"),
36, System.Windows.Media.Brushes.Black),
new System.Windows.Point(200, 116));
// Close the DrawingContext to persist changes to the
DrawingVisual.
drawingContext.Pop();
drawingContext.Close();
return drawingVisual;
}
note : feel free to try any type of transform; they simply won't work!
Any thoughts?
Regards,
Anthony