私が取り組んでいるアプリには、ユーザーがUIImagePickerを使用して(写真ライブラリから、または新しい写真を撮って)画像をロードできるセクションがあります.2500x2000(または同様のもの) )
今、私はその画像をUIImageViewにロードします(400x320としましょう)。次に、ユーザーが他の画像/オブジェクトを選択して元の画像の上にオーバーレイし、それらを移動/サイズ変更してから、新しい画像をフォト ライブラリに保存するか、電子メールで送信できるようにします。
画像の解像度が元の画像と同じくらい高くなるように、画像を保存する最善の方法は何だろうと思っていました....今はスクリーンショットを撮っているだけですが、400x320の小さな画像が残ります.
ありがとう!
それで、私が望んでいたものを手に入れました。正しい方法でそれを行ったかどうかはわかりません。
これが基本的に私がやったことです。
//NEWWIDTH and NEWHEIGHT are double the width and height of the UIImageView that i can edit the pictures in
CGSize newSize = CGSizeMake(NEWWIDTH, NEWHEIGHT);
UIGraphicsBeginImageContext(newSize);
//i'm resizing myOriginalImage before to how i want
[myOriginalImage drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *image;
//Here i go through all the other pictures i added on top and go the same drawInRect method for each of them...multiplying each value x,y,height,width by 2
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;