2013-08-14 4 views
3

Я использую следующий код для захвата UIView как UIImage и сохранения его в Docs Dir.Преобразование UIView в UIImage дает низкое качество

- (UIImage *) imageWithView:(UIView *)view 
{ 
    UIGraphicsBeginImageContext(view.bounds.size); 
    [view.layer renderInContext:UIGraphicsGetCurrentContext()]; 

    UIImage * img = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

    return img; 
} 

UIImage успешно сохраняется. Однако резолюция очень плохая. См. Изображение ниже для справки. Как я могу убедиться, что разрешение сохранено в соответствии с исходным изображением? enter image description here

+0

Взгляните на http://stackoverflow.com/quest Ионы/11603212/uigraphicsbeginimagecontext-must-be-retina-aware – anticyclope

+1

Я получил вашу мысль. Но когда я добавил его вместе с предыдущим кодом. Это не работает. Можете ли вы предложить, где мне его добавить? – ScarletWitch

+0

проверить мой ответ по этой ссылке http://stackoverflow.com/questions/14049796/howe-to-capture-uiview-top-uiview/14049828#14049862 –

ответ

7

Использование UIGraphicsBeginImageContextWithOptions вместо UIGraphicsBeginImageContext

UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0); 

Скажите мне свою работу или нет :)

+2

Великий Рушаб .... Он работает ... thamks для помощи :) – ScarletWitch

+0

@ScarletWitch Я очень рад помочь вам :) – Rushabh

0

Захват изображения всего представления, используя код ниже: -

UIGraphicsBeginImageContext(view.frame.size); 
+1

Извините, чувак ... Этот, похоже, не работает :(Разрешение все равно пропало. – ScarletWitch

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