Снимок экрана iPhone с преобразованным UIImageView - PullRequest
0 голосов
/ 23 января 2012

Моя проблема в этом -

У меня есть UIImageView, который пользователь может свободно вращать.

Теперь я хотел бы иметь возможность снимать только что повернутое изображение.

Код, приведенный ниже, который может сделать скриншот отдельного представления, к сожалению, возвращает снимок экрана с представлением в развернутом состоянии.

-(IBAction)captureScreen:(id)sender
{
    UIGraphicsBeginImageContext(imgView.frame.size);
    [imgView.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);
}

Любые идеи, как я могу сохранить вращение здесь?

Ответы [ 3 ]

0 голосов
/ 23 января 2012

Попробуйте это?

UIGraphicsBeginImageContext(self.view.bounds.size); 
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
    NSString *yourPath;
    NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:yourPath];
    [UIImageJPEGRepresentation(viewImage, 1.0) writeToFile:jpgPath atomically:YES];
0 голосов
/ 29 января 2012

Я предполагаю, что вы вращаете изображение с помощью методов UIImage.Проблема в том, что на самом деле оно не вращает само изображение, а просто говорит тому, кто его рисует, рисовать его вбок.

Я бы посоветовал вам просто повернуть изображение с помощью базовой графики, а затем вы можете сохранить результат таким образом

0 голосов
/ 23 января 2012

Используйте свой код в представлении, содержащем повернутый вид, а не в самом повернутом.

...