我从 NSAttributedString
创建了一个 UIImage
:
UIFont *font = [UIFont systemFontOfSize:12.0f];
NSDictionary *attributes = @{NSFontAttributeName:font,
NSForegroundColorAttributeName:[UIColor greenColor]};
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:title attributes:attributes];
// Create the image here
UIImage *image = [self imageFromAttributedString:attributedString];
#pragma mark - Get image from attributed string
- (UIImage *)imageFromAttributedString:(NSAttributedString *)text
{
UIGraphicsBeginImageContextWithOptions(text.size, NO, 0.0);
// draw in context
[text drawAtPoint:CGPointMake(0.0, 0.0)];
// transfer image
UIImage *image = [UIGraphicsGetImageFromCurrentImageContext() imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIGraphicsEndImageContext();
return image;
}
我的问题是,创建具有相同文本但“反转”的图像的最佳方式是什么,即 [UIColor greenColor] 和白色字体文本?
最佳答案
使用NSBackgroundColorAttributeName
将背景设置为绿色,NSForegroundColorAttributeName
将文本设置为白色。
文档包括:
NSString *const NSForegroundColorAttributeName;
NSString *const NSBackgroundColorAttributeName;
关于ios - "Inverse"来自 NSAttributedString 的 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620902/