2012-05-08 9 views
0

カスタムシェイプ(円、三角形、六角形など)をCocoaアプリケーションに追加する方法を知っている人はいますか?特別なオブジェクトを使うべきですか?ありがとう。Cocoaでカスタムシェイプを追加する

カスタムシェイプの写真を追加するようなことはしないでください。私は自分のプロジェクトを行うために形の色を変更したい。

+0

プログラミングでCocoaで図形を描画する方法を尋ねていますか?あなたの質問はそれほど明確ではありません。 –

答えて

0

私はあなたがクォーツのグラフィックを使用することをお勧めします。

クォーツは、Cocoaのすべてのグラフィックスの中央にあります。基本的なグラフィックデータ構造と描画ルーチンを提供します。それはあなたのために参考になります。この2つのチュートリアルで

ルック:

Intro to Quartz

Intro to Quartz II

クォーツでは、どのような図形でも簡単に色を変更できます。

1

NSBezierPathクラス(class documentation)を使用して、ベジェ曲線から任意のシェイプを作成できます。

ここでは、ポリゴン(五角形、六角形など)を描画するためのカテゴリとクラスメソッドについて説明します。

@interface NSBezierPath (Polygons) 
+ (NSBezierPath *)bezierPathWithPolygonAt:(NSPoint)origin 
    radius:(float)r sides:(int)nsides; 
@end 

@implementation 
+ (NSBezierPath *)bezierPathWithPolygonAt:(NSPoint)origin 
    radius:(float)r sides:(int)nsides 
{ 
    NSBezierPath *p = [NSBezierPath bezierPath]; 
    int i; 
    for (i = 0; i < nsides; ++i) { 
     float a = i * (atanf(1.0f) * 8.0f/nsides); 
     NSPoint pt = NSMakePoint(origin.x + r * cosf(a), 
           origin.y + r * sinf(a)); 
     if (i == 0) 
      [p moveToPoint:pt]; 
     else 
      [p lineToPoint:pt]; 
    } 
    [p closePath]; 
    return p; 
} 
@end 
関連する問題