-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

ところで。どこかからコピペしただけだと思います。現在、0 ではなく 255 から約 50 までの値を生成します... float val + index に 0.9f があると、itemCount と等しくなることはありません。

于 2013-10-02T14:31:13.100 に答える