Create image from NSString properly

2019-07-01 19:16发布

问题:

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.

回答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.