iOS 开发之字符串转图片
UIFont *font = [UIFont fontWithName:@"Menlo" size:12 * 2]; UIImage *wenbenImage = [self imageWithString:Str font:font width:576 textAlignment:NSTextAlignmentLeft]; - (UIImage *)imageWithString:(NSString *)string font:(UIFont *)font width:(CGFloat)width textAlignment:(NSTextAlignment)textAlignment { NSDictionary *attributeDic = @{NSFontAttributeName:font}; CGSize size = [string boundingRectWithSize:CGSizeMake(width, 10000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine attributes:attributeDic context:nil].size; if ([UIScreen.mainScreen respondsToSelector:@selector(scale)]) { if (UIScreen.mainScreen.scale == 2.0) { UIGraphicsBeginImageContextWithOptions(size, NO, 1.0); } else { UIGraphicsBeginImageContext(size); } } else { UIGraphicsBeginImageContext(size); } CGContextRef context = UIGraphicsGetCurrentContext(); [[UIColor whiteColor] set]; CGRect rect = CGRectMake(0, 0, size.width + 1, size.height + 1); CGContextFillRect(context, rect); NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init]; paragraph.alignment = textAlignment; NSDictionary *attributes = @ { NSForegroundColorAttributeName:[UIColor blackColor], NSFontAttributeName:font, NSParagraphStyleAttributeName:paragraph }; [string drawInRect:rect withAttributes:attributes]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }