我想要的东西如下
UIImage *solid = [UIImage imageWithColor:[UIColor darkGrayColor]];
创建关于某种颜色的图像。
如何在iPhone sdk中执行此操作。
答案 0 :(得分:21)
您可以将颜色绘制到CGContext中,然后从中捕获图像:
- (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size {
//Create a context of the appropriate size
UIGraphicsBeginImageContext(size);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//Build a rect of appropriate size at origin 0,0
CGRect fillRect = CGRectMake(0,0,size.width,size.height);
//Set the fill color
CGContextSetFillColorWithColor(currentContext, color.CGColor);
//Fill the color
CGContextFillRect(currentContext, fillRect);
//Snap the picture and close the context
UIImage *retval = UIGraphicsGetImageFromCurrentImageContext(void);
UIGraphicsEndImageContext();
return retval;
}
答案 1 :(得分:2)
如果您只是想创建一个实心矩形的颜色,为什么不只是做
之类的事情UIView *solid = [[UIView alloc] initWithFrame:someFrame];
solid.backgroundColor = [UIColor greyColor];
然后将视图添加到要显示纯色的子视图中。
(当然,只有这是你想要实现的目标。也许你不是这样。)