如何平滑线条(UIBeizerPath)或一组点?现在它把它画成锯齿状。我阅读了样条插值,任何人都可以指示我在可可或C中实现这个,或者给我一个备用线条平滑算法。Cocoa Touch中的线条平滑
2
A
回答
1
石英(UIKit用于绘制,并且在很多地方可以直接用于绘图)具有内置的抗锯齿支持。大多数情况下它已经开启了,所以除非你打开anti-aliasing,否则你不应该有别名(锯齿状)绘图。所以,停止这样做。 :-)
默认情况下没有打开它的上下文大多是那些不合适的上下文,例如PDF上下文和CGLayer上下文。 The documentation意味着这些上下文甚至不支持抗锯齿,这会产生一定的意义。
CGContext提供了一些用于开启和关闭消除锯齿功能的函数,但除非需要别名,否则不应该调用它们。您可以尝试使用这些功能将其打开;如果这有效,那么你应该首先调查为什么它永远关闭。
您是从CALayer内绘制路径吗?这可能是为什么它关闭了; there's an Info.plist key you have to turn on to get anti-aliasing turned on by default in such contexts。
2
我不认为你需要用曲线做Bezier路径。您可以继续绘制直线段,但可以使用插值添加更多数据点。这一点尤其重要,因为我假设你只想在一个坐标轴上平滑,所以最终不会像图中的循环那样出现奇怪的现象。
因此,您想要在现有点之间添加更多点到源数据,并使用比线性插值更复杂的插值算法。有很多可供选择的。二次?基于正弦波?很多,这取决于你使用的是什么样的数据。
1
我发现,如果您在画面边缘画一条线或一个图像,它会出现锯齿状。移动一些线(或增加你的框架),它应该看起来很好,很脆。再次,不知道这是否是你的问题,但它已经咬了我几次。
例如,如果您要在CALayer中显示图像,请确保图像和框架之间存在空间,如果您只做了90度角度的任何操作。
相关问题
- 1. Tableau中的线条平滑
- 2. openGL的平滑线条
- 3. d3js线条图的平滑线
- 4. 如何使d3线条图中的线条更平滑?
- 5. 使用GDI调用的平滑线条
- 6. initWithCoder中NSCoder的用途:? (Cocoa和Cocoa Touch)
- 7. Cocoa Touch中的动画?
- 8. NSNumberFormatter for Cocoa-touch?
- 9. Cocoa-touch和UIButtonContent
- 10. VTK如何平滑一条线
- 11. 如何平滑手绘线条?
- 12. Cocoa-Touch UIButton isSelected clarification
- 13. Cocoa Touch - 比较Ints
- 14. P样条平滑
- 15. 线平滑算法
- 16. Cocoa Touch上的AES加密
- 17. 平滑的线条宽度在画布行中更改为
- 18. 开源Cocoa/Cocoa-Touch POP3/SMTP库?
- 19. gnuplot的:平滑曲线
- 20. Silverlight工具包折线图是否启用线条平滑?
- 21. iPhone中的AdWhirl实现Cocoa touch
- 22. Cocoa Touch中的.ppt(MS PowerPoint)文件
- 23. Cocoa Touch/iPhone中的XML解析
- 24. Cocoa Touch中的矢量/ Objective-C
- 25. Cocoa Touch中的音调生成
- 26. Obj-c + Cocoa touch中的动态UIViews
- 27. gnuplot:极坐标中的平滑线
- 28. Android GraphView中的平滑折线图
- 29. 按钮中的平滑曲线
- 30. Cocoa-Touch字符串拆分
没有那种锯齿。反锯齿正在工作,但我需要从某种算法中进行总线平滑。 – 2010-04-17 04:56:24
一张图片价值10^3字... – Meltemi 2010-04-17 14:42:08