2012-01-23 9 views
0

私の問題はこれです -iPhoneが変形されたUIImageViewのスクリーンショット

私は自由に回転できるUIImageViewを持っています。

私は、この新たに回転した画像だけをキャプチャしたいと考えています。

個々のビューのスクリーンショットをとることができる以下のコードは、残念ながら の非回転状態のビューのスクリーンショットを返します。

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

ここでどのように回転を維持できますか?

+0

はあなたが実装しているものを回転のコードを置くことができる方法の結果を保存することができますか? –

答えて

0

コードを、回転ビューに含まれない回転ビューを含むビューに使用します。

+0

Simonさん、ありがとうございます。これは部分的に機能します。問題は、imageViewを回転させたときに、画像ビューの新しいフレームが表示されずにクロップされたスクリーンショットが表示されるという問題です。私はここに含まれているビューを回転されたimageViewのサイズに一致させることができないので、ここではかなり馬鹿だと感じます。私は、画像ビューが回転するにつれて、包含ビューの境界とフレームプロパティを動的に設定しようとしましたが、喜びはありません...? –

+0

私はself.viewを使ってみましたが、変容したビューをズームインしても喜んでいませんでした。http://stackoverflow.com/questions/15574845/how-do-i-take-a-screenshot-of-a-view-which-私が持っているhas-transform – quantumpotato

0

お試しください。

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

私はあなたがUIImageメソッドで画像を回転していると仮定しています。問題はそれが実際にイメージ自体を回転させていないことです。ただそれを描画して横向きに描くだけです。

私はあなただけで実際にはコアグラフィックスを使用して画像を回転させることをお勧めして、あなたは

関連する問題