特定のフレームに画像をトリミングする必要があるアプリケーションがあります。つまり、CGRectMake(20,40, 280,200) です。
ピッカーディフィニッシュ
私は`のようにやっています
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
//code for crop
CGRect rect=CGRectMake(20,40,280,180);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);
UIImage *newImg = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
CGSize size = [newImg size];
UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, size.width, size.height)];
NSLog(@"frame = %@\n", NSStringFromCGRect(btn.frame));
imageData =[[Utility getCompressedData:newImg]retain];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
[self dismissModalViewControllerAnimated:YES];
`そして画像をアップロードします.しかし、アップロードされたサーバーから画像を取得したとき、それはまだ360 * 480です.なぜそうなのか.ユーザーに対してのみカメラビューの一部を有効にするオーバーレイビューが必要です.だからユーザー彼が望む部分はどれでも取ることができます。それは示されるだけです。