Create image from NSString properly

2019-07-01 19:12发布

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条回答
Root(大扎)
2楼-- · 2019-07-01 19:54

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.

查看更多
登录 后发表回答