可能这很容易,但我找不到方法。我正在尝试使用此代码绘制带浮点的ARC段:
System.Drawing.PointF [] points = new PointF [20];
background.DrawPolyline(points,false,new Bgr(0,0,0),1,Emgu.CV.CvEnum.LineType.FourConnected,0);
根据文件 http://www.emgu.com/wiki/files/3.0.0/document/html/53068d61-8b55-789f-5d3c-6ed2288f073e.htm
DrawPolyline方法可以使用PointF []作为输入。但是,当我输入它时,我收到错误。我正在使用EmguCV 3.1。此外,我尝试了“转到定义”,我在.cs文件中找不到此方法。有人知道为什么吗?我之所以从2.4改为3.1只是因为我可以在新版本中找到这种方法,但我仍然无法找到它。
我希望有人可以帮助我。如果有人知道绘制弧线的更好方法,也欢迎。 提前致谢
答案 0 :(得分:1)
您没有说明背景是什么,但如果是图片,您可以在此处找到相关文档:Image.DrawPolyline或者如果是地图,请点击此处:Map.DrawPolyline
在文档中,您将看到不能使用PointF但必须使用System.Drawing.Point。以下是我一直在研究的应用程序的示例:
foreach (RControl r in _instruments.Values)
{
PointF[] points = r.BackgroundRotatedRect.GetVertices();
Bgra rectangleStroke = new Bgra(
((SolidColorBrush)r.RectangleStroke).Color.B,
((SolidColorBrush)r.RectangleStroke).Color.G,
((SolidColorBrush)r.RectangleStroke).Color.R,
((SolidColorBrush)r.RectangleStroke).Color.A);
_recorderFrame.FrameImage.DrawPolyline(
Array.ConvertAll(points, new Converter<PointF, System.Drawing.Point>(PointFConverter.PointFToPoint)),
true,
rectangleStroke,
2,
Emgu.CV.CvEnum.LineType.FourConnected);
}
希望这有帮助, 道格