Sun*_*Rao 8 objective-c uicolor ios
如果我给两种颜色
UIColor *color1 = [UIColor blackColor];
UIColor *color2 = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)
我应该得到grayColor,我该如何实现呢?
das*_*ght 13
找到"介于两者之间"的直接方法是平均四个组件,如下所示:
UIColor *color1 = [UIColor blackColor];
UIColor *color2 = [UIColor whiteColor];
CGFloat r1, r2, g1, g2, b1, b2, a1, a2;
[color1 getRed:&r1 green:&g1 blue:&b1 alpha:&a1];
[color2 getRed:&r2 green:&g2 blue:&b2 alpha:&a2];
UIColor *avg = [UIColor colorWithRed:(r1+r2)/2.0f
green:(g1+g2)/2.0f
blue:(b1+b2)/2.0f
alpha:(a1+a2)/2.0f];
Run Code Online (Sandbox Code Playgroud)
请注意,这会产生一个中点RGBA颜色空间,它只是许多可能颜色空间中的一个.在其他颜色空间中平均分量将导致不同的结果.
归档时间: |
|
查看次数: |
1170 次 |
最近记录: |