我有一个仅包含文本的UITextView,我想从中获取快照。 我是以编程方式创建的。
UITextView *textView = [[UITextView alloc] init];
如果UITextView的背景颜色为黑色且文本颜色为白色,我想解析每个像素,以了解我是在白色还是黑色像素上。
如何使用快照从UITextView获取图像(仅在可能的情况下)?
答案 0 :(得分:0)
将此方法实现为UIView类别,您可以将任何UIView绘制为图像:
- (UIImage*)drawAsImage
{
// setup context
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0f); // use same scale factor as device
CGContextRef c = UIGraphicsGetCurrentContext();
// render view
[self.layer renderInContext:c];
// get reslting image
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return result;
}
答案 1 :(得分:0)
您可以使用以下方法截取屏幕截图。
-(UIImage *) screenshot
{
CGRect rect;
rect=yourTextView.Frame;
UIGraphicsBeginImageContext(rect.size);
CGContextRef context=UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:context];
UIImage *image=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
答案 2 :(得分:0)
是的,这是可能的。 您可以使用此方法获取textview的快照。
- (UIImage*)screenShotOfView:(UITextView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
并使用此代码调用方法
UITextView *textView = [[UITextView alloc] init];
[self screenShotOfView:textView];