我知道如何以编程方式创建UIImage,使用以下代码:
CGRect rect = CGRectMake(0.0f, 0.0f, 300.0f, 60.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我想要做的是,用多种颜色填充它。如下
答案 0 :(得分:9)
您知道如何绘制一个矩形,只需外推以绘制多个矩形,如下所示。使用你自己的颜色。我使用了内置颜色,如果需要任何自定义颜色,则使用RGB值设置颜色。
CGRect rect = CGRectMake(0.0f, 0.0f, 300.0f, 60.0f);
NSArray *colorArray = [NSArray arrayWithObjects:[UIColor redColor],[UIColor yellowColor],[UIColor greenColor],[UIColor brownColor],
[UIColor lightGrayColor],nil];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
for (int i = 0; i < colorArray.count; i++)
{
CGRect smallRect = CGRectMake((300.0f /colorArray.count) * i,0.0f,(300.0f /colorArray.count) ,60.0f);
CGContextSetFillColorWithColor(context, [colorArray[i] CGColor]);
CGContextFillRect(context, smallRect);
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();