チェックボードとは白と黒の四角を並べた模様。CoreImage にフィルタが用意されていて簡単に描ける。
http://www.blogger.com/img/blank.gif
サンプルソース:Checkboard-1.zip
実行結果:
http://www.blogger.com/img/blank.gif
フィルタはCICheckerboardGeneratorを使う。描画コードはこんな感じ。
- (void)drawRect:(NSRect)rect {
CIFilter *filter = [CIFilter filterWithName:@"CICheckerboardGenerator"];
[filter setDefaults];
[filter setValue:[NSNumber numberWithInt:10] forKey:@"inputWidth"];
[filter setValue:[CIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.5]
forKey:@"inputColor0"];
[filter setValue:[CIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:0.5]
forKey:@"inputColor1"];
CIImage *ciimage = [filter valueForKey:kCIOutputImageKey];
CIContext *context = [[NSGraphicsContext currentContext] CIContext];
[context drawImage:ciimage
atPoint:CGPointZero
fromRect:NSRectToCGRect([self bounds])];
}
とても簡単にチェック模様を描ける。
情報:
Using Core Image Filters
Core Image フィルタのドキュメント
CICheckerboardGenerator
CICheckboardGeneratorのリファレンス
Goofy behavior with CICheckerboardGenerator filter and transparency
CICheckboardGeneratorを描画するサンプルが載っている。
- - - -
この模様を SimpleViewerの背景で使う。どんな感じになるだろうか。