辞書の配列 (colorArray2) からグラデーション カラーを作成しようとしています。この辞書には、r、g、b、a、p の 5 つのキーが含まれています。r、g、b、a はコンポーネント値 (文字列) で、p は場所です。initWithColors:atLocations:colorSpaceでグラデーションカラーを作成しようとしています。今のところ、私は以下を持っています。
NSGradient *aGradient;
NSColorSpace *space = [NSColorSpace genericRGBColorSpace];
NSMutableArray *cArray = [[NSMutableArray alloc] initWithObjects:nil]; // storing colors
NSMutableArray *pArray = [[NSMutableArray alloc] initWithObjects:nil]; // storing locations
for (NSInteger i2 = 0; i2 < colorArray2.count; i2++) {
NSString *r = [[colorArray2 objectAtIndex:i2] objectForKey:key2a];
NSString *g = [[colorArray2 objectAtIndex:i2] objectForKey:key2b];
NSString *b = [[colorArray2 objectAtIndex:i2] objectForKey:key2c];
NSString *a = [[colorArray2 objectAtIndex:i2] objectForKey:key2d];
NSString *p = [[colorArray2 objectAtIndex:i2] objectForKey:key2e];
NSColor *color = [NSColor colorWithSRGBRed:[r integerValue]/255.0f green:[g integerValue]/255.0f blue:[b integerValue]/255.0f alpha:[a integerValue]/100.0f];
[cArray addObject:color];
[pArray addObject:[NSNumber numberWithDouble:[p doubleValue]]];
}
だから私は色を含む配列(cArray)を持っています。私が知らないのは、場所の配列を作成する方法です。ドキュメントによると、場所はグラデーションの各色の場所を含む CGFloat 値の配列です。float 配列を作成するために何でも列挙するにはどうすればよいですか?
ご協力ありがとうございました。
アップデート
より具体的には、 pArray を作成して次のようなものを取得するにはどうすればよいですか
double d[] = {0.1, 0.2, 0.3, 0.5, 1.0};
私が持つことができるように
aGradient = [[NSGradient alloc] initWithColors:cArray atLocations:d colorSpace:space];