2014-02-21 35 views
0

我正在写应用程序uiimagepicturecontroller
任务很简单。你需要在覆盖图中的某个地方拍摄一张照片(覆盖图只是一个圆圈),然后显示它。
当用户持有iPhone垂直时,它可以正常工作。照片裁剪并显示正常。
问题是当用户旋转他们的iPhone水平。我想相机正在旋转,我无法按照需要显示照片。iOS UIImagePickerController令人讨厌的旋转(显示图片)问题

任何想法如何删除autorotatin?在

  1. 设备取向我target->general只有Portrait
  2. UIImagePickerController试图重写自动旋转的方法,并没有工作

不知道如何解决它?或者任何棘手的棘手方法来正确显示图像?

此致敬礼, 大卫。

编辑:这个解决方案是使用AVCam和写“自己的”类来拍照。

+0

如果您获得的图像被旋转,然后通过(-90)旋转该图像,然后显示它。要知道图像是否旋转,我认为检查宽度/高度比会有所帮助。 – santhu

+0

@santhu这也不是正确的答案。即使我将旋转图像它不会在正确的地方。 – Sanderus2311

+0

好吧,你没有给我们任何选择。把整个代码放在你如何处理选取器,图像,裁剪,可能是你可能错过了一些东西。 – santhu

回答

0

,我认为它的工作原理:

-(void)imagePickerController:(UIImagePickerController *)pickerinput didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    [pickerinput dismissViewControllerAnimated:YES completion:nil]; 
    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage]; 
    UIImageView *yourImgView=[[UIImageView alloc] initwithimage:image]; 
    //please add this 
    yourImgView.transform = CGAffineTransformMakeRotation(M_PI/2); 
} 
+0

它不按预期工作。图片仍在旋转。 – Sanderus2311

+0

你能补充一点: yourImgView.transform = CGAffineTransformMakeRotation(M_PI/2); – chawki

0

试试这个。

_img = [UIImage imageWithCIImage:_image scale:_imgScale orientation:_imgOrient]; 
_imgOrient = _img.imageOrientation; 
_imgScale = _img.scale;