有没有人为 CGContext 函数组创建了一个包装类?
我昨天创建了一个简单的 Gradient 类,它封装了 CGGradient 功能的一个子集,用于更简单的内存管理。这很简单。但显然还有更多的 CGContext 操作,我不确定我是否想在那里重新发明轮子。
基本上我正在寻找的东西是......
@interface CGContext : NSObject
{
CGContextRef context;
}
+ (CGContext *) bitmapContextWithData:(void *)data
width:(size_t)width
height:(size_t)height
bitsPerComponent:(size_t)bitsPerComponent
bytesPerRow:(size_t)bytesPerRow
colorspace:(CGColorSpaceRef)colorspace
bitmapInfo:(CGBitmapInfo)bitmapInfo;
- (void) saveGState;
- (void) restoreGState;
- (void) setBlendMode:(CGBlendMode)mode;
- (void) addLineToPoint:(CGPoint)point;
- (void) addLineToPointX:(CGFloat)x pointY:(CGFloat)y;
- (void) drawImage:(CGImageRef)image rect:(CGRect)rect;
- (void) concatCTM:(CGAffineTransform)transform;
- (CGAffineTransform) getCTM;
@end
等等。
(我 99% 的绘图都是在屏幕外的位图中进行的,这就是我在这种情况下关心内存管理的原因。如果我总是在当前 UI 图形上下文中绘图,例如活动屏幕,那么我真的找不到一个非常有用的包装类。)