Export (0) Print
Expand All

How to: Define a Pen

This example shows how use a Pen to outline a shape. To create a simple Pen, you need only specify its Thickness and Brush. You can create more complex pen's by specifying a DashStyle, DashCap, LineJoin, StartLineCap, and EndLineCap.

The following example uses a Pen to outline a shape defined by a GeometryDrawing.

Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Namespace SDKSample
	Partial Public Class PenExample
		Inherits Page
		Public Sub New()
			' Create several geometries.
			Dim myRectangleGeometry As New RectangleGeometry()
			myRectangleGeometry.Rect = New Rect(0, 0, 50, 50)
			Dim myEllipseGeometry As New EllipseGeometry()
			myEllipseGeometry.Center = New Point(75, 75)
			myEllipseGeometry.RadiusX = 50
			myEllipseGeometry.RadiusY = 50
			Dim myLineGeometry As New LineGeometry()
			myLineGeometry.StartPoint = New Point(75, 75)
			myLineGeometry.EndPoint = New Point(75, 0)

			' Create a GeometryGroup and add the geometries to it.
			Dim myGeometryGroup As New GeometryGroup()

			' Create a GeometryDrawing and use the GeometryGroup to specify
			' its geometry.
			Dim myGeometryDrawing As New GeometryDrawing()
			myGeometryDrawing.Geometry = myGeometryGroup

			' Add the GeometryDrawing to a DrawingGroup.
			Dim myDrawingGroup As New DrawingGroup()

			' Create a Pen to add to the GeometryDrawing created above.
			Dim myPen As New Pen()
			myPen.Thickness = 10
			myPen.LineJoin = PenLineJoin.Round
			myPen.EndLineCap = PenLineCap.Round

			' Create a gradient to use as a value for the Pen's Brush property.
			Dim firstStop As New GradientStop()
			firstStop.Offset = 0.0
			Dim c1 As New Color()
			c1.A = 255
			c1.R = 204
			c1.G = 204
			c1.B = 255
			firstStop.Color = c1
			Dim secondStop As New GradientStop()
			secondStop.Offset = 1.0
			secondStop.Color = Colors.Purple

			Dim myLinearGradientBrush As New LinearGradientBrush()

			myPen.Brush = myLinearGradientBrush
			myGeometryDrawing.Pen = myPen

			' Create an Image and set its DrawingImage to the Geometry created above.
			Dim myImage As New Image()
			myImage.Stretch = Stretch.None
			myImage.Margin = New Thickness(10)

			Dim myDrawingImage As New DrawingImage()
			myDrawingImage.Drawing = myDrawingGroup
			myImage.Source = myDrawingImage

			Me.Content = myImage

		End Sub
	End Class
End Namespace

  <Image Stretch="None" Margin="20">
                  <RectangleGeometry Rect="0,0,50,50" />
                  <EllipseGeometry Center="75,75" RadiusX="50" RadiusY="50" />
                  <LineGeometry StartPoint="75,75" EndPoint="75,0" />
                      <GradientStop Offset="0.0" Color="#CCCCFF" />
                      <GradientStop Offset="1.0" Color="Purple" />

A GeometryDrawing

Outlines produces by a Pen
© 2015 Microsoft