Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add Text to UIImage

Tags:

iphone

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?

like image 307
mactalent Avatar asked Oct 30 '09 09:10

mactalent


1 Answers

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;
}
like image 121
casillas Avatar answered Oct 21 '22 11:10

casillas