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.