Как я могу взять UIImage и дать ему черную рамку программно? - PullRequest
0 голосов
/ 31 августа 2009

Как я могу взять UIImage и задать ему черную рамку программно?

Если я смогу получить код, это будет здорово.

Тпй

Ответы [ 2 ]

2 голосов
/ 31 августа 2009

Если вам нужно только отобразить границу, вы можете сделать это с помощью Core Animation на слое UIImageView. Если вам нужно сделать это на самом изображении, вам нужно будет создать новое изображение, нарисовать старое изображение в новом изображении, а затем нарисовать прямоугольник поверх него.

- (UIImage*)imageWithBorderFromImage:(UIImage*)source;
{
  CGSize size = [source size];
  UIGraphicsBeginImageContext(size);
  CGRect rect = CGRectMake(0, 0, size.width, size.height);
  [source drawInRect:rect blendMode:kCGBlendModeNormal alpha:1.0];

  CGContextRef context = UIGraphicsGetCurrentContext();
  CGContextSetRGBStrokeColor(context, 1.0, 0.5, 1.0, 1.0); 
  CGContextStrokeRect(context, rect);
  UIImage *testImg =  UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  return testImg;
}  

Это поместит розовую рамку на изображение и вернет новое изображение.

0 голосов
/ 31 августа 2009

Я бы посмотрел на это: Можно ли отредактировать пиксели свойства UIImage CGImage

Что касается части с черной рамкой, я полагаю, вы можете понять это. Просто итерируйте по каждой стороне и измените пиксели на (0,0,0,255) на определенную величину.

...