2011-06-30 21 views
3

私は4x4ピクセルである小さな正方形を描きたいと思います。私は実行時にその色を調整することができるようにしたいと思います(色の井戸か何かのようなものではなく、ユーザーはできる必要はありません)。私はNSImageでこれをやっていましたが、これは多くのリソースを使い果たし、調整することはできません。新しい色に変更するために、Photoshopで別の小さな色見本を作成するのは大きな苦痛です。より適切な。これはMac OS X上でどのように行うことができますか?Mac OS Xで四角形を描きますか?

答えて

10

4x4の四角形を描画する最も簡単な方法を座標0,0(左下)にはMac OS X上で:

NSRectFill(NSMakeRect(0.0, 0.0, 4.0, 4.0)); 

図面のソートに使用する色を設定する最も簡単な方法:

[[NSColor colorWithCalibratedRed:... green:... blue:... alpha:1.0] set]; 

を;)

+0

これは素晴らしいことですが、ビューに図面を配置する方法はありますか?または図面をクリアしますか? – Regan

+1

@Regan 4x4の正方形を描画するビューを作成したい場合は、NSViewをサブクラス化し、@RobNapierが答えたように 'drawRect:'を実装する必要があります(サブクラスの部分については無視しましたが、多く)。 – nil

+1

実際には、ビュー全体が1色の場合は、標準のNSViewを使用してbackgroundColorを設定してください。より簡単で効率的です。 –

3

このようなものです。私はそれをコンパイルしていないが、これはクォーツを搭載したMac上の任意の図形を描画する基本的なアプローチである:

- (void)drawRect:(NSRect)rect { 
    [[NSColor redColor] set]; 
    CGPathRef path = CGPathCreateMutable(); 
    CGPathAddRect(path, NULL, CGRectMake(0, 0, 4, 4)); 
    CGContextStrokePath([NSGraphicsContext currentContext], path); 
    CGPathRelease(path); 
} 
+0

NSColorには+ redというメソッドはありません。 – NSResponder

+0

固定(redColor) –

3
[[NSColor redColor] set]; 
[NSBezierPath fillRect:NSMakeRect(0,0,4,4)]; 
関連する問題