iPhone:如何通过iPhone照片应用等“编辑”功能从照片库或相机中获取图像

时间:2012-03-06 07:28:14

标签: iphone objective-c ios5 photo-gallery

我知道如何从ios4.2.1中的照片库或相机中获取图像

但在ios 5中,照片应用程序中有新功能,例如,如果用户想要编辑图像或裁剪图像,那么他就可以做这样的事情。

当我从相机或照片库中抓取图像时,我想在我的应用中实现相同的功能。

我在ios 4.2.1中获取图像的代码也适用于ios 5,但是通过此代码,我无法编辑或裁剪图像。

我的代码如下:

- (IBAction)btnCapturePressed:(id)sender {

    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {

        ipc=[[UIImagePickerController alloc] init ];
        ipc.delegate=self;
        ipc.sourceType=UIImagePickerControllerSourceTypeCamera;
        //btnUserImage.tag=-2;

        [self presentModalViewController:ipc animated:YES];

    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Nemo Rating" message:@"Camera capture is not supported in this device" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
        [alert release];
    }

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

    UIImage *imageToScale=[info objectForKey:UIImagePickerControllerOriginalImage];

   // imageToScale=[imageToScale imageByScalingAndCroppingForSize:CGSizeMake(20,10)];
    imageToScale=[imageToScale scaleToSize:CGSizeMake(95, 86)]; 


    [btnUserImage setImage:imageToScale forState:UIControlStateNormal]; 

float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if(version >= 5.0)
{
    [[picker presentingViewController] dismissModalViewControllerAnimated:YES];
    [picker release];
}
else
{
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
    //[picker popViewControllerAnimated:YES];
    [picker release];
}
}

此代码只是给我图像,但我无法编辑它...

然后是否有任何不同的代码,使我能够编辑或裁剪我的图像,如照片应用程序

为了更好地理解我上传跟随屏幕截图。我从照片应用程序拍摄这个屏幕截图。

enter image description here

提前感谢。

2 个答案:

答案 0 :(得分:1)

我发现一个链接与您想要的不一样,但它可能对您有帮助

move and scale

答案 1 :(得分:0)

正如Devang建议的那样,我担心有 NO 的方式可以从照片应用中获取内置的编辑。

没有方式可以访问私有API 。 “照片”应用程序是Apple的应用程序,因此它具有一些功能,这些功能开发人员无法访问公共API

现在关键是你只能创建照片库或照相机的实例并从那里抓取图像。但是您无法访问“照片”应用程序的“编辑”功能。

如果您需要这样做,那么您需要找到一种方法来自行编码所有功能。

希望这会对你有所帮助。