Ios 图像裁剪从相机拉伸图像

Ios 图像裁剪从相机拉伸图像,ios,image,crop,Ios,Image,Crop,我正在使用这个项目:用于裁剪图像 事实上,它可以完美地处理从库中导入的照片,但不能处理来自相机的图像。 从相机中选择图像时,它会显示裁剪但拉伸的图像 @interface ImageViewController (){ ImageCropperView *cropper; UIView *containerView; UIImageView *finImageView; UIButton *removeBtn; } -(void)imagePickerContr

我正在使用这个项目:用于裁剪图像

事实上,它可以完美地处理从库中导入的照片,但不能处理来自相机的图像。 从相机中选择图像时,它会显示裁剪但拉伸的图像

@interface ImageViewController (){
    ImageCropperView *cropper;
    UIView *containerView;
    UIImageView *finImageView;
    UIButton *removeBtn;
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSString *mediaType = info[UIImagePickerControllerMediaType];

    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
        // Media is an image
        UIImage *image = info[UIImagePickerControllerOriginalImage];
        if (image != nil) {

            [self resetCropper];
            containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)];

            [self.view addSubview:containerView];

            cropper = [[ImageCropperView alloc] initWithFrame:CGRectMake(10, 10, 300, 150)]
            [cropper setup];
            cropper.image = image;

            // Adding the crop button
            UIButton *cropBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            [cropBtn addTarget:self action:@selector(cropImage:) forControlEvents:UIControlEventTouchUpInside];
            [cropBtn setTitle:@"Select" forState:UIControlStateNormal];

            cropBtn.frame = CGRectMake(140, 160, 80, 30.0);

            [containerView addSubview:cropBtn];
            [containerView addSubview:cropper];
        }
    }
}

// Action when crop button clicked
- (IBAction)cropImage:(id)sender
{
    [cropper finishCropping];

    UIImage *newImage = cropper.croppedImage;

    finImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 150)];
    finImageView.image = newImage;

    [cropper removeFromSuperview];
    [containerView removeFromSuperview];

    [self.scrollView insertSubview:finImageView belowSubview:self.actionsTab];

    // Adding a button for remove
    removeBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    removeBtn.frame = CGRectMake( 0, 0, 22, 22);
    [removeBtn setBackgroundImage:[UIImage imageNamed:@"remove"] forState:UIControlStateNormal];
    [removeBtn addTarget:self action:@selector(removePhoto:) forControlEvents:UIControlEventTouchUpInside];

    [finImageView insertSubview:removeBtn aboveSubview:finImageView];
    finImageView.userInteractionEnabled = YES;
}

- (IBAction)removePhoto:(id)sender{
    [self resetCropper];
    [finImageView removeFromSuperview];
}

- (void)resetCropper
{
    [cropper reset];
    finImageView.image = nil;
    [removeBtn removeFromSuperview];
}
任何帮助都将不胜感激