使用Xcode,我尝试使用3个滑块(R,G和B)混合将放入UIImage盒子中的颜色。代码包括在内

时间:2014-03-20 18:39:47

标签: colors uiimage uicolor

以下是我试图完成混合R,G和&的代码。 B制作一个将插入UIImage盒子的颜色。我是编程新手,完全不知道这个。

属性&滑块动作:

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *colorView;
@property (weak, nonatomic) IBOutlet UISlider *redSlider;
@property (weak, nonatomic) IBOutlet UISlider *greenSlider;
@property (weak, nonatomic) IBOutlet UISlider *blueSlider;

- (IBAction)adjustRed:(id)sender;
- (IBAction)adjustGreen:(id)sender;
- (IBAction)adjustBlue:(id)sender;

Slider变量赋值:

- (IBAction)adjustRed:(id)sender {
   NSString *redString;
   redString=[NSString stringWithFormat:@"%0.0f", self.redSlider.value];
}

- (IBAction)adjustGreen:(id)sender {
   NSString *greenString;
   greenString=[NSString stringWithFormat:@"%0.0f", self.greenSlider.value];
}

- (IBAction)adjustBlue:(id)sender {
   NSString *blueString;
   blueString=[NSString stringWithFormat:@"%0.0f", self.blueSlider.value];
}

为UIImage指定颜色的方法:

-(void) MixColor {
    self.colorView.backgroundColor=[UIColor colorWithRed:redString green:greenString             blue:blueString alpha:1];
}
@end

1 个答案:

答案 0 :(得分:0)

您的操作方法会创建本地变量redString,...) 可以mixColor方法访问。

更重要的是,UIColor是根据浮点值创建的,范围为0.0 .. 1.0(而不是来自字符串),用于R,G,B,A组件

要更改滑块值的颜色,只需使用

即可
-(void) mixColor
{
    self.colorView.backgroundColor =
               [UIColor colorWithRed:self.redSlider.value
                               green:self.greenSlider.value
                                blue:self.blueSlider.value
                               alpha:1];
}

(假设滑块的默认最小值为0.0,最大值为1.0)。然后从所有滑块操作方法中调用此方法:

- (IBAction)adjustRed:(id)sender
{
    [self mixColor];
}

和其他滑块类似。

实际上,您可以将所有滑块连接到更新的相同操作方法 图像视图的颜色。