从UITextView获取图像

时间:2014-11-17 10:27:25

标签: ios uitextview xcode6

我有一个仅包含文本的UITextView,我想从中获取快照。 我是以编程方式创建的。

UITextView *textView = [[UITextView alloc] init];

如果UITextView的背景颜色为黑色且文本颜色为白色,我想解析每个像素,以了解我是在白色还是黑色像素上。

如何使用快照从UITextView获取图像(仅在可能的情况下)?

3 个答案:

答案 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];