Cocoa 和 SVG 解释 Bézier 曲线的方式有什么区别吗?
我对任何类型的图形都绝对陌生(也许除了拍照:)),所以如果我对昨晚遇到的问题的解释不是很精确和不稳定,请原谅。
我正在尝试在 Cocoa 中生成代码,该代码将在 SVG 文件的基础上绘制矢量。我已将 SVG 命令转换为 NSBezierPath 方法的调用,但收到的图形不太好...形状与基本形状相似,但有一些...扭曲(?)。这可能既不是抗锯齿的问题,也不是 Cocoa 方面设置的平坦度值的问题。有人建议我这个问题可能是由于 Cocoa 方法和 SVG 对贝塞尔曲线控制点的不同解释造成的 - 这可能吗?或者还有什么可能导致这个问题?
I'm definetely new to any kind of graphics (maybe except taking photos :)) so please forgive if my explanation of problem I faced last night is not very precise and understable.
I'm trying to generate code in Cocoa which would draw vectors on the base of SVG files. I've translated SVG commands into calls of NSBezierPath methods but received graphics is not really good... The shape is similar to the basic one but there are some... distortions(?). It's probably neither an issue of antialiasing nor flatness value set on Cocoa side. I was suggested that the problem may result from different interpretation of control points of Bézier curves by Cocoa methods ang SVG - is that possible? Or what else may cause the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SVG曲线的命令是控制点、控制点、终点。
Cocoa curveToPoint方法取终点、控制点1、控制点2
SVG curve to command is control point, control point, end point.
Cocoa curveToPoint method takes end point, control point 1, control point 2
@彼得霍西
当然。目前我认为 Cocoa 和 SVG 的解释确实存在差异。我尝试使用基本的 SVG 示例,但 Cocoa 中的结果有所不同。
SVG 版本:
Cocoa 版本:
或者这是我无法注意到的愚蠢错误:)
// 由于缺乏代码格式,我没有使用“添加注释”。
@Peter Hosey
Sure. At this moment I supose that there is really difference in Cocoa and SVG interpretations. I tried to use basic SVG examples and result in Cocoa is different.
SVG version:
Cocoa version:
Or it is my stupid mistake which I can't notice :)
// I'm not using "Add comment" because of lack of code formatting.