我现在正处于重新收集新iPhone应用程序信息的阶段。对于这个应用程序,我想使用相机和照片图像编辑选项。 Apple提供API(控制器),我可以在我的应用程序中使用这个集成的IO功能吗?我的意思是,在首先使用iPhone相机(IOS功能)开始的过程中,稍后使用照片编辑选项(IOS功能),压缩和标记它(个人功能),最后将其保存在我的个人应用程序文件夹/库中(不在一般照片库里面?)
我一直在阅读UIImagePickerController类功能,但我想在你前进之前仔细检查一下
是否有压缩图像或以较低分辨率捕获图像的想法?
非常感谢你
答案 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库,您可以从此处获取信息
答案 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);