在 iPhone 应用程序中绘制这个椭圆的最佳方法是什么?

发布于 2024-07-16 10:45:31 字数 338 浏览 8 评论 0原文

我希望在我的 iPhone 应用程序中拥有一个与邮件应用程序类似的椭圆形。 仅供参考的屏幕截图如下:http://dl-client。 getdropbox.com/u/57676/screenshots/ellipse.png

最终我想要一个以数值为中心的椭圆。 是否最好使用 UIImage 来完成此任务? 也许用 Quartz 绘制它会减少开销? 如果是用 Quartz 完成的,任何人都可以显示绘制它的解决方案吗?

I'd like to have a similar ellipse as the Mail app in my iPhone app. A screenshot just for reference is here: http://dl-client.getdropbox.com/u/57676/screenshots/ellipse.png

Ultimately I'd like the ellipse with a numerical value centered in it. Is it best to use a UIImage for this task? Perhaps less overhead to draw it with Quartz? If it's done with Quartz, can anyone display a solution for drawing it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜扑 2024-07-23 10:45:32

啊,一个圆角矩形。 这并不难画。 您可以使用贝塞尔曲线路径来获得您想要的。 代码如下所示:

CGRect rect;
CGFloat minX = CGRectGetMinX(rect), minY = CGFloatGetMinY(rect), maxX = CGFloatGetMaxX(rect), maxY = CGRectGetMaxY(rect);

CGFloat radius = 3.0; // Adjust as you like
CGContextBeginPath(context);
CGContextMoveToPoint(context, (minX + maxX) / 2.0, minY);
CGContextAddArcToPoint(context, minX, minY, minX, maxY, radius);
CGContextAddArcToPoint(context, minX, maxY, maxX, maxY, radius);
CGContextAddArcToPoint(context, maxX, maxY, maxX, minY, radius);
CGContextAddArcToPoint(context, maxX, minY, minX, minY, radius);
CGContextClosePath(context);

现在您在图形上下文上有了路径,您可以使用 CGContextDrawPath 和 CGContextFillPath 函数绘制它或勾画它的轮廓。

Ah, a rounded rectangle. That's not too hard to draw. You can use Bezier paths to get what you want. The code looks like this:

CGRect rect;
CGFloat minX = CGRectGetMinX(rect), minY = CGFloatGetMinY(rect), maxX = CGFloatGetMaxX(rect), maxY = CGRectGetMaxY(rect);

CGFloat radius = 3.0; // Adjust as you like
CGContextBeginPath(context);
CGContextMoveToPoint(context, (minX + maxX) / 2.0, minY);
CGContextAddArcToPoint(context, minX, minY, minX, maxY, radius);
CGContextAddArcToPoint(context, minX, maxY, maxX, maxY, radius);
CGContextAddArcToPoint(context, maxX, maxY, maxX, minY, radius);
CGContextAddArcToPoint(context, maxX, minY, minX, minY, radius);
CGContextClosePath(context);

Now that you have a path on your graphics context, you can draw it or outline it using the CGContextDrawPath and CGContextFillPath functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文