3
我正嘗試在visio中創建連接符號。我已經使用Graphics.Drawline
方法創建了這些連接器。但是我不知道如何讓彎曲來平滑曲線,就像微軟的visio一樣。需要在行中創建圓角?
代碼:
protected override void Render(Graphics gfx)
{
PointF[] pts = GetPathPoints();
gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
float x = (float)((pts[0].X + pts[1].X)/2 - 5);
float y = 0F;
PointF start = new PointF((float)(pts[0].X), (float)(pts[0].Y));
PointF end = new PointF((float)(pts[1].X), (float)(pts[1].Y));
PointF pt1 = new PointF((float)(start.X), (float)(start.Y-50));
PointF pt2 = new PointF((float)(end.X), (float)(end.Y - 50));
using (Pen pen = this.LineStyle.CreatePen())
{
gfx.DrawLine(pen, start, pt1);
gfx.DrawLine(pen, pt1, pt2);
gfx.DrawLine(pen, pt2, end);
}
}
請看到在下面的鏈接光滑彎曲連接器: http://en.wikipedia.org/wiki/File:BPMN-CollectVotes.jpg
我怎樣才能在Visio繪製圓角線線是怎樣的?
不知道如果有一個更簡單的方法,有可能是,但遵守前面使用四分之一圓的弧形彎曲總是進行第一次嘗試。 – Anton
您需要分離連接到同一個點(角落)的兩條線端,將它們拉回20個像素(更多或更少),然後繪製連接這兩條線端的弧線。沒有其他辦法。 – Cipi
學習者,你只需要先閱讀這個:http://stackoverflow.com/questions/1805582/net-gdi-drawing-lines-with-rounded-corners –