画一个带有轮廓的箭头

时间:2014-08-27 08:18:01

标签: c# winforms

我尝试在表单上绘制带有彩色轮廓的多个箭头,到目前为止,我使用以下代码:

Pen arrow_pen = new Pen(Color.FromArgb(r, g, b), 8);
arrow_pen.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
GraphicsPath arrow = new GraphicsPath();
        arrow.AddLine(
            coordinates1,
            coordinates2,
            coordinates3,
            coordinates4
            );
obj.DrawPath(arrow_pen, arrow);
obj.FillPath(Brushes.White, arrow);
arrow.Dispose();
arrow_pen.Dispose();

它绘制了箭头的轮廓,但是然后它用白色填充路径(obj.FillPath什么都不做),我错过了什么或者我做错了吗?

1 个答案:

答案 0 :(得分:1)

文档说:

  

填写GraphicsPath的内部

您的路径只是一行而未关闭。因此,根据文件:

  

如果路径参数表示的路径未关闭,则会从最后一个点添加到第一个点的附加段以关闭路径。

所以现在你有两条完全没有区域的相同线条。该区域已填满,但您无法看到它,因为它的像素宽度为零。您需要定义一个面积大于零的封闭图,以实际填充某些内容。