ios - slider 改变 UIColor 的亮度

标签 ios objective-c xcode rgb hsv

我开发了一个色轮,它使用响应于平移手势识别器的圆形渐变,并添加了一个控制颜色的 alpha 值的 slider ,以及打印出 R、G 和 B 值的文本字段。

我现在需要实现一个控制颜色亮度的 slider ,但我无法使用以下代码进行工作:

- (void)changeBrightness:(id)sender {
    hellSlider = (UISlider *)sender;

    float red = r;
    float green = g;
    float blue = b;
    float alp = alphaSlider.value;
    UIColor *color2 = [UIColor colorWithRed:red green:green blue:blue alpha: alp];
    colorView.backgroundColor = color2;
}

事实上,我还不知道如何解决这个问题。因为似乎没有我可以访问的亮度属性,而我不知道如何将颜色转换为 HSV 值。

感谢任何帮助

最佳答案

您应该处理 HSB 颜色方法:

+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha

并在此处查看颜色样式之间的转换:Change from RGB to HSB on iPhone?

关于ios - slider 改变 UIColor 的亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17564762/

相关文章:

ios - 从属性(property)中得到零

iphone - 如何通过 NSOutputStream 发送整数?

ios - 在 map 引脚 Xcode 中使用图像

ios - 基于 UIScrollView 内容 View 高度不增加

ios - Swift:如何获取旋转图像的高度和宽度。

ios - NSArray作为核心数据fetchRequest中的参数

ios - 你能画一条自己重叠的描边贝塞尔曲线吗?

ios - 在 CALayer 中应用透明颜色

ios - 保存选项设置的状态(cocos2d)

ios - 获取带有通知的数组