首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有用户照片的相机覆盖-没有保存为编辑

带有用户照片的相机覆盖-没有保存为编辑
EN

Stack Overflow用户
提问于 2011-08-16 00:51:07
回答 1查看 2.1K关注 0票数 21

我使用带有的透明图像,为用户插入/获取自己的图像,将裁剪出来。由于某些原因,在使用UIImagePickerControllerEditedImage并裁剪用户拍摄的照片时,图像不会在编辑时保存;例如,请参阅照片。

我的问题是,图像并没有保存照片的编辑方式。(即:裁剪/调整尺寸)。

设置UIImagePicker

代码语言:javascript
运行
复制
-(void)choosePhotoDialog:(id)sender
{        
    OverlayView * overlay = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH_IPHONE, SCREEN_HEIGTH_IPHONE) andPhoto:[dict objectForKey:@"imageUrl"]];
    [overlay setUserInteractionEnabled: NO];

    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    [picker setSourceType: UIImagePickerControllerSourceTypeCamera];
    [picker setDelegate: self];
    [picker setAllowsImageEditing: YES];
    [picker setShowsCameraControls: YES];
    [picker setNavigationBarHidden: YES];
    [picker setWantsFullScreenLayout: YES];
    [picker setCameraOverlayView: overlay];
    [self presentModalViewController:picker animated:YES];  
    [picker release];
}

编辑图像后:

代码语言:javascript
运行
复制
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    SDWebImageManager * manager = [SDWebImageManager sharedManager];
    UIImage * cachedImage  = [manager imageWithURL: [NSURL URLWithString: @"http://www.someurl.com/test.png"]];
    UIImage * userOriginal = [info valueForKey:UIImagePickerControllerEditedImage];

    /*  combining the overlay and the user-photo  */
    UIGraphicsBeginImageContext( CGSizeMake(640,960) );

        /*  for some reason I have to push the user-photo
            down 60 pixels for it to show correctly as it
            was edited.
         */
        [userOriginal drawAtPoint:CGPointMake(0,60)];
        [cachedImage drawAtPoint:CGPointMake(0,0)];

        UIImage * draft = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum( draft, self, @selector(image:didFinishSavingWithError:contextInfo:), nil );       
}

此外,编辑“裁剪”部分中还有白色空格,如下所示:

EN

Stack Overflow用户

回答已采纳

发布于 2011-10-25 15:24:16

我相信这是因为编辑的照片不包括被半透明的框架覆盖所掩盖的部分,这些部分显示为标准iOS图像编辑器的一部分。(您发现的60 by必须与此覆盖的上半部分的60 by相抵消。)

您可以从UIImagePickerControllerCropRect字典中提取和展开info键,并在UIImagePickerControllerOriginalImage上再次进行编辑,以获得您想要的结果映像。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7072467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档