Leopard から、グラデーションで塗り潰しを行うための NSGradient クラスが追加されました。
使い方は簡単で、NSGradient クラスのインスタンスを作って、-[NSBezierPath fill] を使う替わりに -[NSGradient drawInBezierPath:angle:] を使うだけ。
NSBezierPath *path = ...;
NSColor *color1 = [NSColor redColor];
NSColor *color2 = [NSColor yellowColor];
NSGradient *grad = [[NSGradient alloc] initWithStartingColor:color1 endingColor:color2];
[grad drawInBezierPath:path angle:0.0f];
これまでグラデーションのためだけに、OpenGL ビューや Core Graphics を使っていたので、実はかなり嬉しいのです。
コメントを書く