我想从 UITextView 获取多行字符串并将其绘制在图像上,图像中文本的位置必须与 UITextView 中的位置完全相同,但我不想将 textView 添加到 UIImageView,我需要一个新图像这些文字,有可能吗?有什么建议吗?
lee
问问题
4433 次
2 回答
6
您可以将任何 UIView 的内容捕获到 UIImage 中。首先,创建一个空的 UIView 并将您的 UIImageView 和 UITextView 定位为子视图:
// Assumes you have UIImageView *myImageView and UITextField *myTextField
UIView *parentView = [[UIView alloc] initWithFrame:CGRectZero];
[parentView addSubview:myImageView];
[myImageView setFrame:CGRectMake(0, 0, 100, 100)];
[parentView addSubview:myTextField];
[myTextField setFrame:CGRectMake(20, 20, 80, 20)];
[parentView sizeToFit];
现在创建一个图形上下文并将 parentView 绘制到其中:
UIGraphicsBeginImageContext([parentView bounds].size);
[[parentView layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
您现在有了一个 UIImage,其中包含您的 UIImageView 和 UITextField 的内容,可以通过网络显示、保存或发送。
于 2009-09-09T17:31:06.713 回答
1
这是一个很好的解决方案,谢谢。
我想补充一下你需要补充
#import <QuartzCore/QuartzCore.h>
到你的进口,这样警告就会消失。
于 2009-11-05T08:56:18.410 回答