我試圖從字典(colorArray2)數組中創建漸變顏色。這本詞典包含5個鍵:r,g,b,a,p。 r,g,b,a是分量值(字符串),p是位置。我正在嘗試使用initWithColors創建漸變色:atLocations:colorSpace。現在,我有以下幾點。創建一個用於漸變位置的CGFloat陣列
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值的數組。我如何枚舉任何創建一個浮點數組?
謝謝你的幫助。
更新
更具體地說,我怎麼做粒子陣列要達到這樣的
double d[] = {0.1, 0.2, 0.3, 0.5, 1.0};
,這樣我可以有
aGradient = [[NSGradient alloc] initWithColors:cArray atLocations:d colorSpace:space];
呃...是的。我想我也是這樣。我會標記你的答案。謝謝。 –