public BasicStroke(float width, int cap, int join, float miterlimit) { pen = new System.Drawing.Pen(System.Drawing.Color.Black, width); System.Drawing.Drawing2D.LineCap linecap = System.Drawing.Drawing2D.LineCap.Flat; if (cap == 1) { linecap = System.Drawing.Drawing2D.LineCap.Round; } else if (cap == 2) { linecap = System.Drawing.Drawing2D.LineCap.Square; } pen.StartCap = linecap; pen.EndCap = linecap; System.Drawing.Drawing2D.LineJoin linejoin = System.Drawing.Drawing2D.LineJoin.Miter; if (join == 1) { linejoin = System.Drawing.Drawing2D.LineJoin.Round; } else if (join == 2) { linejoin = System.Drawing.Drawing2D.LineJoin.Bevel; } pen.LineJoin = linejoin; pen.MiterLimit = miterlimit; }
public void setStartCap(System.Drawing.Drawing2D.LineCap cap) { for (int i = 0; i < max; i++) { pens[i].StartCap = cap; } }
public static PenLineCap LineCap(System.Drawing.Drawing2D.LineCap lineCap) { var penLineCap = PenLineCap.Flat; switch (lineCap) { case System.Drawing.Drawing2D.LineCap.Flat: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.Square: penLineCap = PenLineCap.Square; break; case System.Drawing.Drawing2D.LineCap.Round: penLineCap = PenLineCap.Round; break; case System.Drawing.Drawing2D.LineCap.Triangle: penLineCap = PenLineCap.Triangle; break; case System.Drawing.Drawing2D.LineCap.NoAnchor: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.SquareAnchor: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.RoundAnchor: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.DiamondAnchor: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.ArrowAnchor: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.Custom: penLineCap = PenLineCap.Flat; break; case System.Drawing.Drawing2D.LineCap.AnchorMask: break; default: throw new Exception("Invalid value for LineCap"); } return(penLineCap); }
/// <summary> /// Vykreslí přímou linku nebo S křivku { Prev.End to Next.Begin } /// </summary> /// <param name="e">Data pro kreslení</param> /// <param name="mode">Důvody zobrazení</param> /// <param name="ratio">Poměr průhlednosti: hodnota v rozsahu 0.0 (neviditelná) - 1.0 (plná barva)</param> protected void DrawPrevNext(GInteractiveDrawArgs e, TimeGraphLinkMode mode, float ratio) { TimeGraph graph = (this.ItemNext != null ? this.ItemNext.Graph : (this.ItemPrev != null ? this.ItemPrev.Graph : null)); RelationState relationState = GetRelationState(this.ItemPrev, this.ItemNext); Color color1 = this.GetColorForState(relationState, graph); Point?prevPoint = GetPoint(this.ItemPrev, RectangleSide.MiddleRight, true, true); Point?nextPoint = GetPoint(this.ItemNext, RectangleSide.MiddleLeft, true, true); LinkLineType lineType = this.CurrentLineShape; float? treshold = 4f * (float)(this.LinkWidth.HasValue ? this.LinkWidth.Value : 3); using (System.Drawing.Drawing2D.GraphicsPath graphicsPath = Painter.CreatePathLink(lineType, prevPoint, nextPoint, treshold)) { bool useRoundAnchor = (lineType == LinkLineType.ZigZagHorizontal || lineType == LinkLineType.ZigZagVertical || lineType == LinkLineType.ZigZagOptimal); System.Drawing.Drawing2D.LineCap startCap = (useRoundAnchor ? System.Drawing.Drawing2D.LineCap.RoundAnchor : System.Drawing.Drawing2D.LineCap.Round); System.Drawing.Drawing2D.LineCap endCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor; Painter.DrawLinkPath(e.Graphics, graphicsPath, color1, null, this.LinkWidth, startCap, endCap, ratio); } }
public static string EncodeLineCapStyle(System.Drawing.Drawing2D.LineCap cap) { switch (cap) { case LineCap.ArrowAnchor: return("arrow"); case LineCap.DiamondAnchor: return("diamond"); case LineCap.RoundAnchor: return("round"); case LineCap.SquareAnchor: return("square"); default: case LineCap.NoAnchor: return("none"); } }
public void SetLineCap(System.Drawing.Drawing2D.LineCap startCap, System.Drawing.Drawing2D.LineCap endCap, System.Drawing.Drawing2D.DashCap dashCap) { }