gpt4 book ai didi

ios - 将 PointF[] 转换为 CGPoint[]

转载 作者:行者123 更新时间:2023-11-28 23:58:45 24 4
gpt4 key购买 nike

documentation 中的示例代码CGContext.AddLines 没有为我编译。

ctxt.AddLines (new PointF[] {
new PointF (30, 30),
new PointF (60, 30),
new PointF (40, 40)
});

错误是

cannot convert from 'System.Drawing.PointF[]' to 'CoreGraphics.CGPoint[]'

我确实注意到这有效:

  public void AddStraightLine(PointF start, PointF end)
{
var path = new CGPath();

path.AddLines(new CGPoint[]
{
start,
end
});
}

最佳答案

文档有点过时,您必须将其切换为使用 CoreGraphics.CGPoint,这是最新且唯一的重载,而不是 System.Drawing.PointF .这是要求切换到 iOS 的结果 Unified API .

从文档移植的 iOS 的相应统一更改看起来像这样:

using (var ctxt = UIGraphics.GetCurrentContext())
{
var startingPoint = new CGPoint(20, 20);
ctxt.MoveTo(startingPoint.X, startingPoint.Y);
ctxt.SetStrokeColor(UIColor.Red.CGColor);
var sz = new CGSize(2, 2);
Func<CGPoint, CGPoint> offset = (CGPoint pt) => new CGPoint(pt.X - 1, pt.Y - 1);
ctxt.AddEllipseInRect(new CGRect(offset(startingPoint), sz));

ctxt.AddLines(new CGPoint[]
{
new CGPoint (30, 30),
new CGPoint (60, 30),
new CGPoint (40, 40)
});

ctxt.StrokePath();
}

关于ios - 将 PointF[] 转换为 CGPoint[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50279042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com