在UIImagePickerController上需要一个非常小的(矩形)覆盖,然后相应地裁剪图像 - 更新

时间:2013-12-17 09:56:59

标签: ios iphone uiimagepickercontroller

在我的应用程序中,我需要用户只使用一个10个字母的单词(使用overlay,它应该位于UIImagePicker的屏幕中央),然后需要向他展示那个图像(只有那个矩形所覆盖的部分图像)。所以,我需要根据叠加层裁剪图像。

在这里,我使用UIImagePickerControl拍摄了一张照片。现在,我想看看我拍摄的图像的尺寸..

UIImage *imageToprocess = [info objectForKey:UIImagePickerControllerOriginalImage];

NSLog(@"image width %f", imageToprocess.size.width);
NSLog(@"image height %f", imageToprocess.size.height);

我在控制台上看到以下结果..但这怎么可能。图像的尺寸超出了iPhone屏幕尺寸的尺寸..(即320,568)

UsingTesseractOCR[524:60b] image width 2448.000000
2013-12-17 16:02:18.962 UsingTesseractOCR[524:60b] image height 3264.000000

有人可以帮我吗?我在这里经历了几个问题,但不明白该怎么做。

请帮助..

2 个答案:

答案 0 :(得分:0)

请参阅此示例代码以进行图像捕获和裁剪。

https://github.com/kishikawakatsumi/CropImageSample

答案 1 :(得分:0)

要创建叠加层,首先要创建一个自定义视图(相机预览的全尺寸),然后添加一个透明图像,背景中只有一个矩形。将此视图用作叠加视图。

  myview =[[UIImageView alloc]init];
  myview.frame=CGRectMake(0, 0, 320, 431); 

 // why 431? bcoz height = height of device - height of tabbar present in the
   bottom for camera controls of picker
//for iphone 4 ,480-49

  myview.backgroundColor =[UIColor clearColor];
  myview.opaque = NO;
  myview.image =[UIImage imageNamed:@"A45Box.png"];
  myview.userInteractionEnabled =YES;

请注意您适当地创建背景图像(表示尺寸)。您也可以通过编程方式绘制矩形,但这很简单。

其次,谈论你的裁剪问题,你必须弄清楚......试试这些链接寻求帮助 https://github.com/iosdeveloper/ImageCropper

https://github.com/barrettj/BJImageCropper

https://github.com/ardalahmet/SSPhotoCropperViewController