-3

从值“val”可以看出,我生成的值是0到255之间的值,怎么才能颠倒这个float值的顺序呢?

-(UIColor *)colorForIndexToWhite:(NSInteger)index {    
    NSInteger itemCount = _gradientArrayToWhite.count - 1;
    float val = ((float)index / (float)itemCount) * 0.9;
    UIColor *colorFromHEXCode = [UIColor colorWithHexString:_hexCode];
    NSString *myCount = [NSString stringWithFormat:@"%.f", (colorFromHEXCode.red*255)-(val*255)];
    NSLog(@"Red Value: %.f - val: %.f - Result: %@", colorFromHEXCode.red*255, val*255, myCount);
    return MP_RGB((colorFromHEXCode.red*255)-(val*255), (colorFromHEXCode.green*255)-(val*255), (colorFromHEXCode.blue*255)-(val*255));
}

This is the Output:

    2013-10-02 16:14:02.473 Goolor[993:a0b] Red Value: 70 - val: 0 - Result: 70
    2013-10-02 16:14:02.475 Goolor[993:a0b] Red Value: 70 - val: 26 - Result: 44
    2013-10-02 16:14:02.475 Goolor[993:a0b] Red Value: 70 - val: 51 - Result: 19
    2013-10-02 16:14:02.476 Goolor[993:a0b] Red Value: 70 - val: 76 - Result: -6
    2013-10-02 16:14:02.477 Goolor[993:a0b] Red Value: 70 - val: 102 - Result: -32
    2013-10-02 16:14:02.478 Goolor[993:a0b] Red Value: 70 - val: 128 - Result: -58
    2013-10-02 16:14:02.478 Goolor[993:a0b] Red Value: 70 - val: 153 - Result: -83
    2013-10-02 16:14:02.479 Goolor[993:a0b] Red Value: 70 - val: 178 - Result: -108
    2013-10-02 16:14:02.480 Goolor[993:a0b] Red Value: 70 - val: 204 - Result: -134
    2013-10-02 16:14:02.480 Goolor[993:a0b] Red Value: 70 - val: 230 - Result: -160
4

1 回答 1

0

代替:

(color*255)-(val*255)

color * val * 255

顺便提一句。我想你只是从某个地方复制粘贴它。现在它生成的值从 255 到 50 左右,而不是 0……你在 float val + index 上有 0.9f 永远不会等于 itemCount。

于 2013-10-02T14:31:13.100 回答