Как получить цветное изображение в iPhone SDK - PullRequest
7 голосов
/ 31 июля 2009

Я хочу что-то следующее

UIImage *solid = [UIImage imageWithColor:[UIColor darkGrayColor]];

для создания изображения относительно какого-либо цвета.

как это сделать в iPhone SDK.

Ответы [ 2 ]

21 голосов
/ 31 июля 2009

Вы можете нарисовать цвет в 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;
}
2 голосов
/ 31 июля 2009

Если вы просто пытаетесь создать сплошной цветной прямоугольник, почему бы просто не сделать что-то вроде

UIView *solid = [[UIView alloc] initWithFrame:someFrame];
solid.backgroundColor = [UIColor greyColor];

А затем добавьте представление к любому подпредставлению, которое вы хотите показать сплошным цветом.

(Это, конечно, только если это то, чего вы пытаетесь достичь. Может быть, вы этого не делаете)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...