関数の CGContext グループのラッパー クラスを作成した人はいますか?
昨日、単純なメモリ管理のために CGGradient 機能のサブセットをカプセル化した単純な Gradient クラスを作成しました。それはかなり簡単でした。しかし、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 グラフィックス コンテキストに常に描画していた場合、ラッパー クラスが非常に役立ちます。)