使用 Xcode,我尝试使用 3 个滑块(R、G 和 B)来混合将进入 UIImage 框的颜色。包含代码



下面是我试图实现R、G和amp;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;

滑块变量分配:

- (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

您的操作方法创建一个局部变量(redString,…(可在CCD_ 2方法中访问。

更重要的是,UIColor是由R、G、B、a分量的0.0..1.0范围内的浮点值创建的(而不是由字符串创建的(

要从滑块值更新颜色,只需使用

-(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];
}

并且类似地用于其它滑块。

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

最新更新