ページ

2008年3月27日木曜日

RoundRect その1

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

MacOSX10.5より NSBezierPathに RoudRectbのパス作成メソッドが追加された。
bezierPathWithRoundedRect:xRadius:yRadius:

早速試してみる。



ソース:RoundRect-1.zip

なかなか良い。使い道は多かったのに今まで無かったのが不思議なくらい。昔は自分で円弧と直線を組み合わせて作った覚えがある。


コードはメソッドを呼出してパスを作るだけ。

MyView.m

- (void)drawRect:(NSRect)rect {
// Drawing code here.
[[NSColor whiteColor] set];
NSRectFill(rect);

NSRect rect2 = NSMakeRect(rect.size.width*1.0/4.0/2.0,
rect.size.height*1.0/4.0/2.0,
rect.size.width*3.0/4.0,
rect.size.height*3.0/4.0);

NSBezierPath* path = [NSBezierPath bezierPathWithRoundedRect:rect2
xRadius:15.0
yRadius:15.0];
[[NSColor redColor] set];
[path fill];
}


次回はこれを使って画像の角を丸くしてみよう。