mactalent
mactalent

Reputation: 971

Add Text to UIImage

How to Add Text into an Image and display as one Image. Iam selecting image from Photo Library and then writing text onto it and want to save as one image?so can anyone know who to deal with it?

Upvotes: 6

Views: 7111

Answers (1)

casillas
casillas

Reputation: 16813

I have been using the following code to add a text to UIImage, hopefully it will help

UIImage *img = [self drawText:@"Your String"
                                inImage:[UIImage imageNamed:@"empty_image.png"]
                                atPoint:CGPointMake(15, 25)];



-(UIImage*) drawText:(NSString*) text
             inImage:(UIImage*)  image
             atPoint:(CGPoint)   point
{

    NSMutableAttributedString *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
    textStyle = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@",text]];

    // text color
    [textStyle addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0, textStyle.length)];

    // text font
    [textStyle addAttribute:NSFontAttributeName  value:[UIFont systemFontOfSize:20.0] range:NSMakeRange(0, textStyle.length)];

    UIGraphicsBeginImageContext(image.size);
    [image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
    CGRect rect = CGRectMake(point.x, point.y, image.size.width, image.size.height);
    [[UIColor whiteColor] set];

    // add text onto the image
    [textStyle drawInRect:CGRectIntegral(rect)];

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
}

Upvotes: 6

Related Questions