我尝试在表单上绘制带有彩色轮廓的多个箭头,到目前为止,我使用以下代码:
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什么都不做),我错过了什么或者我做错了吗?
答案 0 :(得分:1)
文档说:
填写GraphicsPath的内部。
您的路径只是一行而未关闭。因此,根据文件:
如果路径参数表示的路径未关闭,则会从最后一个点添加到第一个点的附加段以关闭路径。
所以现在你有两条完全没有区域的相同线条。该区域已填满,但您无法看到它,因为它的像素宽度为零。您需要定义一个面积大于零的封闭图,以实际填充某些内容。