2010-03-25 67 views
1

我想实现中点/ Bresenham圆圈绘制算法,使用Iphone的目标。请给我任何教程或源代码绘制中点/ Bresenham圆算法。可以使用CGPoint方法绘制圆圈吗?我如何在Objective-C中实现Mid-Point/Bresenham循环算法?

+0

您是否搜索过在C或C++中是否有实现?您可以使用C和C++进行iPhone开发。 (使用Monotouch,您也可以使用C#。) – kennytm 2010-03-25 06:30:28

+0

您是否阅读过有关此文档? http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/ – 2010-03-25 06:33:40

+0

KennyTM, 我在http://www.sourcecodesworld.com/source/show.asp?ScriptID上搜索C语言的实现= 901。 但我非常困惑。 iPhone中使用Objective-C有没有任何有效的光栅图形方法。 – Tirth 2010-03-25 06:40:13

回答

4

该算法似乎在Wikipedia上有详细记录,但是,因为它是关于在哪里放置圆点来创建圆,所以我必须指出this Stack Overflow question的答案。简短摘要:Core Graphics不是面向像素的。

因此,如果您想要自己逐点绘制圆,请查看链接问题的答案,并将其应用于Wikipedia的算法。如果您只想画一个圆圈,请参阅文档,尤其是。 CGContextAddEllipseInRect

+0

约翰库尔, 我想以实现用于绘制圆, 空隙CGContextStrokeLineSegments( CGContextRef C, 常量CGPoint点[], 为size_t计数 )下面的函数; GContextBeginPath(context);对于(k = 0; k <计数; k + = 2),CGContextMoveToPoint(上下文,s [k] .x,s [k] .y)为 ; CGContextAddLineToPoint(context,s [k + 1] .x,s [k + 1] .y); } CGContextStrokePath(context); 我该如何实现该代码。我花了很多天来搜索和执行这些功能,但我无法做到这一点,请帮助任何人................ – Tirth 2010-03-25 07:50:06