3

I am creating a image from string variable. Following is the code snippet to create image

-(UIImage *)imageFromText:(NSString *)text FontName:(UIFont *)font
{
    // set the font type and size
    //UIFont *font = [UIFont systemFontOfSize:20.0];  
    CGSize size  = [text sizeWithFont:font];

    UIGraphicsBeginImageContext(size);

    [text drawAtPoint:CGPointMake(0.0, 0.0) withFont:font];

    // transfer image
    CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), YES);
    CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES);

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

    return image;
}

Above code works well but problem is that final image is blurred. Please advice if anything is wrong in above code.

coverback
  • 4,413
  • 1
  • 19
  • 31
Rupesh
  • 7,866
  • 11
  • 41
  • 58

1 Answers1

1

Use UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) instead of UIGraphicsBeginImageContext(size)

Set Scale according to the screen size. This will help you and you will not get any blurred image.

sgarizvi
  • 16,623
  • 9
  • 64
  • 98
Sahil Mahajan
  • 3,922
  • 2
  • 29
  • 43