123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- //
- // RDSRgbColor.m
- // LampRibbon
- //
- // Created by coderYK on 2017/8/24.
- // Copyright © 2017年 RD. All rights reserved.
- //
- #import "RDSRgbColor.h"
- @implementation RDSRgbColor
- + (instancetype)rds_rgbColorWithRgbArr:(NSArray *)array {
-
- DDLog(@"%@",array);
- RDSRgbColor *color = [[RDSRgbColor alloc] init];
- // color.red_hex = array[0];
- // color.green_hex = array[1];
- // color.blue_hex = array[2];
-
- color.red = [array[0] intValue];
- color.green = [array[1] intValue];
- color.blue = [array[2] intValue];
-
- return color;
- }
- + (instancetype)rds_colorWithR:(int)red G:(int)green B:(int)blue {
-
- RDSRgbColor *color = [[RDSRgbColor alloc] init];
- color.red = red;
- color.green = green;
- color.blue = blue;
-
- return color;
- }
- + (instancetype)rds_colorWithRgbHexString:(NSString *)rgb_hex {
-
- RDSRgbColor *color = [[RDSRgbColor alloc] init];
- color.red = (int)[[rgb_hex substringWithRange:NSMakeRange(0, 2)] rds_uintegerValueFromHexString];
- color.green = (int)[[rgb_hex substringWithRange:NSMakeRange(2, 2)] rds_uintegerValueFromHexString];
- color.blue = (int)[[rgb_hex substringWithRange:NSMakeRange(4, 2)] rds_uintegerValueFromHexString];
- return color;
- }
- - (instancetype)initWithCoder:(NSCoder *)aDecoder {
-
- if (self = [super init]) {
- self.red = [aDecoder decodeIntForKey:@"red"];
- self.green = [aDecoder decodeIntForKey:@"green"];
- self.blue = [aDecoder decodeIntForKey:@"blue"];
- }
- return self;
- }
- - (void)encodeWithCoder:(NSCoder *)aCoder {
-
- [aCoder encodeInt:self.red forKey:@"red"];
- [aCoder encodeInt:self.green forKey:@"green"];
- [aCoder encodeInt:self.blue forKey:@"blue"];
- }
- - (id)copyWithZone:(NSZone *)zone {
-
- RDSRgbColor *copyColor = [[[self class] allocWithZone:zone] init];
- copyColor.red = self.red;
- copyColor.green = self.green;
- copyColor.blue = self.blue;
- return copyColor;
- }
- - (NSString *)description {
-
- return [NSString stringWithFormat:@"red:%d, green:%d, blue:%d", _red, _green, _blue];
- }
- #pragma mark - get
- - (NSString *)red_hex {
- return [NSString stringWithFormat:@"%02x", self.red];
- }
- - (NSString *)green_hex {
- return [NSString stringWithFormat:@"%02x", self.green];
- }
- - (NSString *)blue_hex {
- return [NSString stringWithFormat:@"%02x", self.blue];
- }
- - (NSString *)rgb_hex {
- return [NSString stringWithFormat:@"%02x%02x%02x", self.red, self.green, self.blue];
- }
- - (int)brightness {
-
- int temp = 0;
- temp = self.red > self.green ? self.red : self.green;
- temp = temp > self.blue ? temp : self.blue;
- CGFloat persent = temp/255.0;
- return persent*100;
- }
- - (void)setBrightness:(int)brightness {
-
- CGFloat oriPersent = self.brightness/100.0;
- CGFloat persent = brightness/100.0;
- self.red = ((self.red/oriPersent)>255 ? 255 : self.red/oriPersent)*persent;
- self.green = ((self.green/oriPersent)>255 ? 255 : self.green/oriPersent)*persent;
- self.blue = ((self.blue/oriPersent)>255 ? 255 : self.blue/oriPersent)*persent;
- }
- @end
|