2014-11-17 2 views
0

У меня есть UITextView, содержащий только текст, и я хочу сделать снимок из него. Я создал его программно.взять изображение из UITextView

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

Если цвет фона UITextView черный и цвет текста белый, я хочу, чтобы разобрать каждый пиксель, чтобы знать, если я на белый или черный пиксель.

Как сделать снимок, чтобы получить изображение из UITextView (только если это возможно)?

+0

Пожалуйста У некоторых поиск на Как получить скриншот с прошивкой программно, тогда Ограничить область к вашему TextView Size. –

ответ

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; 
} 
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; 
    } 
0

Да, это возможно. Вы можете использовать этот метод для получения моментального снимка текста.

- (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]; 
+0

спасибо @nimbu actully У меня такая же проблема –

+1

Ваш ответ кажется тем, что я хочу сделать, но он работает, даже если UITextView не был добавлен в основной вид (как subView)? – Jordan

+0

Sure .. Вы можете использовать приведенный ниже код, чтобы записать изображение в путь. Перед созданием изображения необходимо добавить кадр и текст. Иначе вы получите пустое белое изображение. NSData * pngData = UIImagePNGRпредставление (изображение); [pngData writeToFile: filePath atomically: YES]; – Neenu

Смежные вопросы