我对任何类型的图形都很陌生(可能除了拍照:))所以请原谅,如果我对昨晚遇到的问题的解释不是很精确和明白。
我正在尝试在Cocoa中生成代码,它将在SVG文件的基础上绘制向量。我已经将SVG命令转换为NSBezierPath方法的调用,但是接收到的图形并不是很好......形状类似于基本形状,但有一些......扭曲(?)。它可能既不是抗锯齿问题,也不是Cocoa方面的平坦值问题。有人提出这个问题可能是由于Cocoa方法对SVz的Bézier曲线控制点的不同解释 - 这可能吗?或者还有什么可能导致问题?
答案 0 :(得分:5)
指令的SVG曲线是控制点,控制点,终点。
Cocoa curveToPoint方法采用终点,控制点1,控制点2
答案 1 :(得分:0)
@Peter Hosey
不确定。在这一刻,我认为Cocoa和SVG解释确实存在差异。我尝试使用基本的SVG示例,结果与Cocoa不同。
SVG版本:
<path d="M 100 200 C 100,100 400,100 400,200 z"/>
可可版:
path = [[NSBezierPath alloc] init];
[path moveToPoint:NSMakePoint(100, 200)];
[path curveToPoint:NSMakePoint(100, 100) controlPoint1:NSMakePoint(400, 100) controlPoint2:NSMakePoint(400, 200)];
[path sePath];
或者这是我无法察觉的愚蠢错误:)
//由于缺乏代码格式化,我没有使用“添加评论”。