キャプチャボタンがあるビューを作成しました。そのボタンをクリックすると、カメラの画面が開きます。 Landscapeで見たときにPortraitで撮影された画像はゆがんで表示されます。 歪みのない実際の画像を取得するにはどうすればよいですか?風景で見たときにポートレートで撮影された画像がゆがんで表示される
2
A
答えて
4
イメージをキャプチャして写真に格納するときにこの関数を手動で呼び出すことができます。
- (UIImage *)fixOrientation : (UIImage *)img
{
if (img.imageOrientation == UIImageOrientationUp) return img;
CGAffineTransform transform = CGAffineTransformIdentity;
switch (img.imageOrientation) {
case UIImageOrientationDown:
case UIImageOrientationDownMirrored:
transform = CGAffineTransformTranslate(transform, img.size.width, img.size.height);
transform = CGAffineTransformRotate(transform, M_PI);
break;
case UIImageOrientationLeft:
case UIImageOrientationLeftMirrored:
transform = CGAffineTransformTranslate(transform, img.size.width, 0);
transform = CGAffineTransformRotate(transform, M_PI_2);
break;
case UIImageOrientationRight:
case UIImageOrientationRightMirrored:
transform = CGAffineTransformTranslate(transform, 0, img.size.height);
transform = CGAffineTransformRotate(transform, -M_PI_2);
break;
}
switch (img.imageOrientation) {
case UIImageOrientationUpMirrored:
case UIImageOrientationDownMirrored:
transform = CGAffineTransformTranslate(transform, img.size.width, 0);
transform = CGAffineTransformScale(transform, -1, 1);
break;
case UIImageOrientationLeftMirrored:
case UIImageOrientationRightMirrored:
transform = CGAffineTransformTranslate(transform, img.size.height, 0);
transform = CGAffineTransformScale(transform, -1, 1);
break;
}
CGContextRef ctx = CGBitmapContextCreate(NULL, img.size.width, img.size.height,
CGImageGetBitsPerComponent(img.CGImage), 0,
CGImageGetColorSpace(img.CGImage),
CGImageGetBitmapInfo(img.CGImage));
CGContextConcatCTM(ctx, transform);
switch (img.imageOrientation) {
case UIImageOrientationLeft:
case UIImageOrientationLeftMirrored:
case UIImageOrientationRight:
case UIImageOrientationRightMirrored:
// Grr...
CGContextDrawImage(ctx, CGRectMake(0,0,img.size.height,img.size.width), img.CGImage);
break;
default:
CGContextDrawImage(ctx, CGRectMake(0,0,img.size.width,img.size.height), img.CGImage);
break;
}
CGImageRef cgimg = CGBitmapContextCreateImage(ctx);
UIImage *img1 = [UIImage imageWithCGImage:cgimg];
CGContextRelease(ctx);
CGImageRelease(cgimg);
return img1;
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
self.image = [info objectForKey:UIImagePickerControllerOriginalImage];
snapimage.image = [self fixOrientation:self.image];
}
- (void)imagePickerController:(UIImagePickerController *)picker1
didFinishPickingImage:(UIImage *)image1
editingInfo:(NSDictionary *)editingInfo
{
[picker1 dismissModalViewControllerAnimated:YES];
snapimage.image = [self fixOrientation:image1];
}
2
あなたはshouldAutorotateToInterfaceOrientation
方法
で はこのようにしてみてください、ビューの中央に横向きで画像をカスタマイズする必要があります。そして、あなたが持っているあなたは、IOS 5で作業している場合
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight || UIInterfaceOrientationLandscapeLeft)
{
here customize the rect of your image
}
関連する問題
- 1. 異なる画像ビューで撮影した画像を表示
- 2. モーダルビューのUIWebviewは、風景モードでポートレートで表示されています
- 3. タブレットのロックされた横向き+デバイスがポートレートで表示されているときに開始されたアクティビティ=画面上での回転表示
- 4. IISで公開されたときに画像が表示されない
- 5. オブジェクトを見るときに画像が表示されない
- 6. AngularJS Bootstrap Galleryの風景画像とポートレート画像
- 7. ポートレート画像と風景画像の並べ替え
- 8. self.view.boundsがポートレートで表示されない
- 9. iPhone/iPadで背景画像が表示されなくなる
- 10. ADBannerViewは風景モードで表示されますが、ポートレートモードでは表示されません
- 11. 生成された画像TabHostで見ることができません
- 12. iPhoneシミュレータでローカライズされた画像を見ることができません
- 13. 風景モードでポートレートで表示する方法は?
- 14. Androidパワーオフ画面で風景画が破棄される
- 15. インテントとして渡されたときに画像が表示されない
- 16. Microsoft Outlookで背景画像が表示されない
- 17. png画像が灰色の背景で表示されます。
- 18. iPad/ios6でpngの背景画像が表示されない
- 19. google +とfacebook style iframe youtube video。画像がクリックされたときにビデオ画像が表示されます
- 20. IE10とIE11に背景画像が表示されない
- 21. 撮影した画像&
- 22. Wordpress - サイトにアップロードされた画像が表示されない
- 23. イメージは撮影と同じサイズで表示されますか?
- 24. 画像が表示されません
- 25. 画像が表示されません
- 26. ズーム中に背景画像に隙間が表示される
- 27. AJAXで画像を受信すると、動的に生成された画像が表示されます
- 28. プログラムで作成されたコレクションビューで画像ビューが表示されない
- 29. ChromeブラウザでHTTPハンドラで生成された画像が表示されない
- 30. 画像はホストされたサイトに表示されません
おそらく、自動サイズ変更のプロパティを適切に設定していない可能性があります。 – HarshIT
いくつかのコードを投稿してください。 –