public void SetLineCap(LineCap startCap, LineCap endCap, System.Drawing.Drawing2D.DashCap dashCap) { if (this.immutable) { throw new ArgumentException(System.Drawing.SR.GetString("CantChangeImmutableObjects", new object[] { "Pen" })); } int status = SafeNativeMethods.Gdip.GdipSetPenLineCap197819(new HandleRef(this, this.NativePen), (int)startCap, (int)endCap, (int)dashCap); if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } }
public static DrawingImage GetImage(sdd.DashCap val) { double height = 1; double width = 2; PenLineCap dashCap = PenLineCap.Flat; switch (val) { default: case sdd.DashCap.Flat: dashCap = PenLineCap.Flat; break; case sdd.DashCap.Round: dashCap = PenLineCap.Round; break; case sdd.DashCap.Triangle: dashCap = PenLineCap.Triangle; break; } // // Create the Geometry to draw. // var drawingGroup = new DrawingGroup(); var geometryDrawing = new GeometryDrawing() { Geometry = new RectangleGeometry(new Rect(0, 0, width, height)) }; geometryDrawing.Pen = new Pen(Brushes.Transparent, 0); drawingGroup.Children.Add(geometryDrawing); geometryDrawing = new GeometryDrawing() { Geometry = new LineGeometry(new Point(0, height / 2), new Point(width, height / 2)) }; geometryDrawing.Pen = new Pen(Brushes.Black, height / 5) { DashCap = dashCap, DashStyle = DashStyles.Dash }; drawingGroup.Children.Add(geometryDrawing); var geometryImage = new DrawingImage(drawingGroup); // Freeze the DrawingImage for performance benefits. geometryImage.Freeze(); return(geometryImage); }
public static SharpDX.Direct2D1.CapStyle ToCapStyle(System.Drawing.Drawing2D.DashCap dashCap) { switch (dashCap) { case System.Drawing.Drawing2D.DashCap.Triangle: return(SharpDX.Direct2D1.CapStyle.Triangle); case System.Drawing.Drawing2D.DashCap.Flat: return(SharpDX.Direct2D1.CapStyle.Flat); case System.Drawing.Drawing2D.DashCap.Round: return(SharpDX.Direct2D1.CapStyle.Round); } return(SharpDX.Direct2D1.CapStyle.Flat); }