0

我想知道 Core Graphics 中是否有任何功能可以让您为非矩形形状指定一个插图,即类似于 CGRectInset 的东西?我正在创建一条由一堆二次贝塞尔曲线组成的路径,这些曲线构成了一种特殊类型的椭圆,我想在其中放入一种较小类型的椭圆。是的,我知道我可能可以手动执行此操作,但想知道 Apple 是否有简单的方法来执行此操作?

4

1 回答 1

1

CoreGraphics 没有指定与*rect *angles 以外的形状相关的函数,因为它不是必须的。您所做的任何绘图都是您自己的问题,因此需要您自己的解决方案。可以自己准复制一个CGRectMake()-esque 元素(它只是 ac 结构)。

struct CFIElipseRect {
   CGPoint origin;
   CGSize size;
   CGFloat arcLength;
   CGFloat vertices;
   CGFloat cornerRadius; //optional, just a thought.
};
typedef struct CFIElipseRect CFIElipseRect;


CFIElipseRect CFIElipseRectMake(CGPoint origin, CGSize size, CGFloat arcLength, CGFloat vertices, CGFloat cornerRadius) {
    CFIElipseRect rect;
    rect.origin = origin;
    rect.size = size;
    rect.arcLength = arcLength;
    rect.vertices = vertices;
    rect.cornerRadius = cornerRadius;
    return rect;
}

CFIElipseRect CFIElipseRectInset(CFIElipseRect rect, float dx, float dy) {
    rect.size.x -= dx;
    rect.size.y -= dy;
    return rect;
}
于 2012-08-02T05:43:50.900 回答