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