アップデート:
iPhone OS 3.0 以降では、UIImagePickerController API 全体が変更されました。この質問と回答は 2.2 と見なす必要があります。レガシーコード。
UIImagePickerController を使用し、画像の編集を許可する場合。iPhone では、ユーザーは画像のサイズ変更とパンを行うことができます。ただし、編集した画像の最大サイズは 320x320 に制限されています。
例として、iPhone のスクリーンショットを撮り、480x320 の png であるフォト ライブラリに配置しました。UIImagePickerController を使用してその画像を選択すると、画像を拡大縮小またはパンしなくても、UIImagePickerController から返される前に 320x320 にトリミングされます。ただし、編集をオフにすると、画像は適切な 480x320 サイズで返されます。
私の理論: 非常に微妙に、iPhone は画像の上に重なる 2 つの非標準の半透明のツールバーを表示します。これらのツールバーは、写真の上に無害な 320x320 の「ウィンドウ」を残します。このウィンドウは、下にある写真を効果的に切り取っているように見えます。
注: コールバックは元の画像とクリッピング rect を含む編集辞書も返しますが、もちろん rect も最大 320x320 です。
320x320 より大きい画像をスケーリングおよびパンできるようにする方法について何かアイデアはありますか?
いくつかのコード:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
self.myImageView.userInteractionEnabled=YES;
CGRect imageFrame = myImageView.frame;
CGPoint imageCenter = myImageView.center;
imageFrame.size = img.size;
myImageView.frame = imageFrame;
self.myImageView.image = img;
myImageView.center = imageCenter;
[self dismissModalViewControllerAnimated:YES];
[self performSelector:@selector(hideToolBars) withObject:nil afterDelay:2.0];
}