0

この方法で CGContextSetRGBFillColor に色を設定しようとしています:

- (void) drawArrowWithContext:(CGContextRef)context atPoint:(CGPoint)startPoint withSize: (CGSize)size lineWidth:(float)width arrowHeight:(float)aheight andColor:(UIColor *)color
{   
CGContextSetRGBFillColor (context,color,color,color,1);
CGContextSetRGBStrokeColor (context, color.CGColor);

....
}

...しかし、どちらの場合でも、「引数が少なすぎます。5 にする必要があります。2 です」というエラーが表示されます。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

7

あなたの別の質問を見て、何も理解せず、何も学ばずにただ突き進んでいくのではなく、1 時間立ち止まってドキュメントを読むことをお勧めします。

コードに問題があります: を渡して、UIColor浮動小数点数を引数として取る関数でそれを使用しようとしています。メソッドのパラメーターを変更するか、UIColor (またはその CGColor 表現) を受け入れることができる別の CoreGraphics 関数を使用します。

CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextSetStrokeColorWithColor(context,[color CGColor]);
于 2013-01-22T17:43:56.710 に答える
1

ドキュメントから:

void CGContextSetRGBFillColor (
   CGContextRef c,
   CGFloat red,
   CGFloat green,
   CGFloat blue,
   CGFloat alpha
);

あなたがする必要があるのは、あなたのUIColorを分解することだけです

- (BOOL)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha
于 2013-01-22T17:44:21.837 に答える