2011-09-08 4 views
3

Visio와 같은 커넥터 기호를 만들려고합니다. 나는 Graphics.Drawline 메서드를 사용하여 해당 커넥터를 만들었습니다. 그러나 Microsoft 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의 같은 둥근 모서리 라인 선을 그릴 수 있습니까?

+0

확실하지 않음 . – Anton

+1

한 점 (모서리)에 연결되는 두 선 끝을 분리하고 20 픽셀 (그 이하) 뒤로 당긴 다음 두 선 끝을 연결하는 호를 그립니다. 다른 방법은 없습니다. – Cipi

+0

학습자,이 책을 먼저 읽어야합니다. http://stackoverflow.com/questions/1805582/net-gdi-drawing-lines-withround-corners –

답변

관련 문제