iPhone相机和照片编辑选项 - 集成在自定义应用程序上

时间:2012-01-27 12:56:00

标签: iphone ios camera

我现在正处于重新收集新iPhone应用程序信息的阶段。对于这个应用程序,我想使用相机和照片图像编辑选项。 Apple提供API(控制器),我可以在我的应用程序中使用这个集成的IO功能吗?我的意思是,在首先使用iPhone相机(IOS功能)开始的过程中,稍后使用照片编辑选项(IOS功能),压缩和标记它(个人功能),最后将其保存在我的个人应用程序文件夹/库中(不在一般照片库里面?)

我一直在阅读UIImagePickerController类功能,但我想在你前进之前仔细检查一下

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html

是否有压缩图像或以较低分辨率捕获图像的想法?

非常感谢你

3 个答案:

答案 0 :(得分:1)

不是以较低的分辨率捕获图像,而是可以在UIImagePickerController的callBack中调整图像大小,这是

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    UIImage *temp = (UIImage*)[info objectForKey:@"UIImagePickerControllerOriginalImage"];
    UIImage *uploadImage = [self resizeImageWithImage:temp];
}

用于调整大小功能:

- (UIImage*)resizeImageWithImage:(UIImage*)image {
 CGSize newSize = CGSizeMake(newWidth, newHeight);
                UIGraphicsBeginImageContext( newSize );
                [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
                UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
                UIGraphicsEndImageContext();
}

您可能需要使用:

#import <QuartzCore/QuartzCore.h>

和图书馆。

同样用于图像编辑检查CoreImage库,您可以从此处获取信息

http://developer.apple.com/library/mac/#documentation/graphicsimaging/Conceptual/CoreImaging/ci_intro/ci_intro.html

答案 1 :(得分:0)

压缩这可能会有所帮助

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    NSData *imageData = UIImageJPEGRepresentation(image, 0.6);
    //0 means most compression
    //1 means least compression
}

答案 2 :(得分:0)

UIImagePickerController将允许用户选择现有照片或取一个新照片(这取决于您如何设置控制器)。此方法允许的唯一编辑是用户裁剪图像。除此之外,您还必须提供自己的功能。

对于压缩图像,您可以将其保存为JPG,同时定义压缩率:

NSData *dataForPNGFile = UIImageJPEGRepresentation(yourImage, 0.9f);