2011-06-27 12 views
0

イメージにオーバーレイを追加しました(フォトアルバムから選択)、コンポジットを保存できません。次のコードは元のイメージのみを保存します。いずれにしても、追加されたイメージを持つようにイメージオブジェクトを修正する提案がありますか?iOS開発用の複合画像または変更された画像を保存するにはどうすればよいですか?

#pragma mark - 
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    OverlayView *overlay = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGTH)]; 
    overlay.alpha = 0.6; // Customize the opacity of the top image. 
    [imageView addSubview:overlay]; 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    //UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
     // Save image 
    UIImageWriteToSavedPhotosAlbum(imageView.image, self,         @selector(image:didFinishSavingWithError:contextInfo:), context); 
    [picker dismissModalViewControllerAnimated:YES]; 
} 

答えて

0

あなた@Rahul Vyasさんありがとうございます。私はあなたの提案を試していませんでしたが、私はまだあなたの意見に感謝します。 Apple Devフォーラムの助けを借りてこの問題を解決しました。

それは私のために働いたとして、この問題への答えは、次のとおりです。

CGRect screenRect = [[UIScreen mainScreen] bounds];  
UIGraphicsBeginImageContext(screenRect.size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
[[UIColor blackColor] set]; 
CGContextFillRect(context, screenRect); 
[imageView.layer renderInContext:context]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
// Save image 
UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), context); 
[picker dismissModalViewControllerAnimated:YES]; 
1

UIImageWriteToSavedPhotosAlbum(imageView.image.layer、自己)

+0

ありがとうございました。私はこれを試していませんでしたが、Apple Devフォーラムの助けを借りてこの問題を解決しました。 – sAguinaga

+0

失敗したか、成功したかどうかを確認できますか?私はUIImageWriteToSavedPhotosAlbum(imageView.image.layer、self、nil、nil)と同じだと思います...エラー捕捉メソッドには接続しません。しかし、もう一度、私はまだiOSのプログラミングに新しいです.... – sAguinaga

+0

@サルJrあなたのコードは大丈夫です。 –

関連する問題