Как создать изображение с таким цветом, как [UIColor redColor].Создайте изображение с цветом, например [UIColor redColor] в ios
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Как создать изображение с таким цветом, как [UIColor redColor].Создайте изображение с цветом, например [UIColor redColor] в ios
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
- (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state {
[self setBackgroundImage:[UIButton imageFromColor:backgroundColor] forState:state];
}
+ (UIImage *)imageFromColor:(UIColor *)color {
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
CIImage* outputImage = nil;
CIFilter* blueGenerator = [CIFilter filterWithName:@"CIConstantColorGenerator"];
CIColor* blue = [CIColor colorWithString:@"0.1 0.5 0.8 1.0"];
[blueGenerator setValue:blue forKey:@"inputColor"];
CIImage* blueImage = [blueGenerator valueForKey:@"outputImage"];
Я решил эту проблему, создав категорию UIImage И лучше использовать категорию в таких сценариях.
Вот мой код:
В UIImage + Customized.h
#import <UIKit/UIKit.h>
@interface UIImage (Customized)
/**
*Return the image from Color given
*/
+ (UIImage *)imageWithColor:(UIColor *)color;
@end
В UIImage + Customized.m
#import "UIImage+Customized.h"
@implementation UIImage (Customized)
+ (UIImage *)imageWithColor:(UIColor *)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
и использовать его как этот Для Например, предположим, что вы хотите установить исходное изображение кнопки, а затем использовать его как
ПРИМЕНЕНИЕ: [btnDone setBackgroundImage: [UIImage imageWithColor: [UIColor redColor]] Форстат: UIControlStateNormal];
NB: Импортируйте категорию в viewController, где вы хотите использовать метод.
Надеюсь, это поможет.
Счастливое кодирование ...
может передать этот http://stackoverflow.com/questions/1213790/how-to-get-a-color-image-in-iphone-sdk и возможный дубликат –