我如何采用UIImage并以编程方式为其设置黑色边框?

时间:2009-08-31 17:32:26

标签: iphone objective-c uiimage border

如何以编程方式获取UIImage并为其设置黑色边框?

如果我能收到代码,那就太好了。

TNX

2 个答案:

答案 0 :(得分:2)

如果您只需要显示边框,则可以在UIImageView图层上使用Core Animation执行此操作。如果您需要在图像上进行,那么您需要创建一个新图像,将旧图像绘制到新图像中,然后在其上绘制一个矩形。

- (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;
}  

这将在图像上放置粉红色边框并返回新图像。

答案 1 :(得分:0)

我看看这个: Can I Edit the Pixels of the UIImage's Property CGImage

对于黑色边框部分,我假设您可以想出那个。只需沿着每一侧迭代并将像素更改为(0,0,0,255)一定量。