角丸はNSBezierPathの appendBezierPathWithArcFromPoint:toPoint:radius: を使い ます。 次のように appendBezierPathWithRoundedRectangle:withRadius: をNSBezierPathのカテゴリ(RoundedRect)として実装すると、塗りつぶす場合にはfill、枠を 描く場合はstrokeを使い描くことができます。 ▼注意:10.5からはこのカテゴリを追加しなくても appendBezierPathWithRoundedRect:xRadius:yRadius: が使えます。(2007.01.12追記) ▼注意:aRectの辺の長さとradiusの整合性のチェックをしていません。radius の値は短辺の1/2以下にしてください。 @interface NSBezierPath(Roun
1 - (void) 2 drawRoundRect:(CGRect)rect 3 withRadius:(CGFloat)radius 4 inContext:(CGContextRef)context 5 { 6 CGFloat lx = CGRectGetMinX(rect); 7 CGFloat cx = CGRectGetMidX(rect); 8 CGFloat rx = CGRectGetMaxX(rect); 9 CGFloat by = CGRectGetMinY(rect); 10 CGFloat cy = CGRectGetMidY(rect); 11 CGFloat ty = CGRectGetMaxY(rect); 12 13 CGContextMoveToPoint(context, lx, cy); 14 CGContextAddAr
MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard NSShadowの使い方が分かったので RoundRect と組み合わせてみた。 まず表示から。問題なし。 次にファイル書き出し。こちらも問題なし。 ソース:RoundRect-4 と、まあ簡単に実現できたのだけれど、コードはちょっとダサいかもしれない。。 表示の方のコード。 - (void)drawRect:(NSRect)rect { // Drawing code here. [NSGraphicsContext saveGraphicsState]; NSShadow* shadow = [[NSShadow alloc] init]; [shadow setShadowOffset:NSMakeSize(10.0, -10.0)]; [shadow setShadow
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く