How can I take an UIImage and give it a black border? How can I take an UIImage and give it a black border? ios ios

How can I take an UIImage and give it a black border?


With OS > 3.0 you can do this:

//you need this import#import <QuartzCore/QuartzCore.h>[imageView.layer setBorderColor: [[UIColor blackColor] CGColor]];[imageView.layer setBorderWidth: 2.0];


You can do this by creating a new image (also answered in your other posting of this question):

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

This code will produce a pink border around the image. However if you are going to just display the border then use the layer of the UIImageView and set its border.


#import <QuartzCore/CALayer.h>UIImageView *imageView = [UIImageView alloc]init];imageView.layer.masksToBounds = YES;imageView.layer.borderColor = [UIColor blackColor].CGColor;imageView.layer.borderWidth = 1;    

This code can be used for adding UIImageView view border.