【问题标题】:UIImagePicker not allowed edit imageUIImagePicker 不允许编辑图像
【发布时间】:2013-09-09 14:40:14
【问题描述】:

我正在尝试将 UIImagePicker 与编辑图像一起使用,代码运行良好,但不允许编辑,这是我的代码:

开启myFile.h

@interface MyCameraPickerController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate> {

    UIImageView * imageView;
    UIButton * choosePhotoBtn;
    UIButton * takePhotoBtn;
}

@property (nonatomic, strong) IBOutlet UIImageView * imageView;
@property (nonatomic, strong) IBOutlet UIButton * choosePhotoBtn;
@property (nonatomic, strong) IBOutlet UIButton * takePhotoBtn;

-(IBAction) getPhoto:(id) sender;

现在myFile.m 调用所有函数:

@synthesize imageView,choosePhotoBtn, takePhotoBtn;

-(IBAction) getPhoto:(id) sender {

    UIImagePickerController * picker = [[UIImagePickerController alloc] init];

    picker.delegate = self;

    if((UIButton *) sender == choosePhotoBtn) {

        picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

    } else {

        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    }

    [self presentViewController:picker animated:YES completion:nil];
}

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

    [info objectForKey:UIImagePickerControllerEditedImage];

    imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];

    [picker dismissViewControllerAnimated:YES completion:nil];
}

在此工作之后,我合并了两个图像,如果有人可以提供帮助,我在这里工作得很好;):

- (IBAction)onSavePhoto:(id)sender{

    UIImage *bottomImage = self.imageView.image;//[UIImage imageNamed:@"bottom.png"]; //background image
    UIImage *image       = [UIImage imageNamed:@"overLay.png"]; //foreground image

    CGSize newSize = CGSizeMake(640, 640);
    UIGraphicsBeginImageContext( newSize );

    // Use existing opacity as is
    [bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

    // Apply supplied opacity if applicable
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:1.0];

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(newImage, nil, nil, nil);
}

我看到我的图像,我可以拍一张照片,但我不能编辑这个,有人知道吗?谢谢。

【问题讨论】:

  • 编辑是什么意思?那个 UIImagePickerController 允许你移动和缩放?
  • 是的,我会做一个缩放和裁剪图像的可能性
  • 那你可以试试`picker.allowsEditing=true'
  • 非常非常好!!!如果您想发布答案,我会以正确的答案投票给您 thx

标签: ios merge camera uiimagepickercontroller


【解决方案1】:

如果您想要的是内置的UIImagePickerController 以允许编辑所选图像,只需建立allowsEditing 属性:

picker.allowsEditing = YES;

然后你可以像这样检索它:

[info objectForKey:UIImagePickerControllerEditedImage];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    相关资源
    最近更新 更多