Ios 创建我自己的iphone照片库
我想创建我自己的照片库,从我的图库中获取图像并保存到我的图库中,然后询问是否需要dekete..如果有任何帮助,我将不胜感激 问候Ios 创建我自己的iphone照片库,ios,iphone,objective-c,ios5,Ios,Iphone,Objective C,Ios5,我想创建我自己的照片库,从我的图库中获取图像并保存到我的图库中,然后询问是否需要dekete..如果有任何帮助,我将不胜感激 问候 Ghaus您可以让用户使用UIImagePickerControl选择要导入的图像。有关详细信息,请参阅这篇优秀的文章 之后,使用类似以下内容将图像保存/加载到您自己的应用程序中 - (void)saveImage: (UIImage*)image { if (image != nil) { NSArray *paths = NSS
Ghaus您可以让用户使用UIImagePickerControl选择要导入的图像。有关详细信息,请参阅这篇优秀的文章 之后,使用类似以下内容将图像保存/加载到您自己的应用程序中
- (void)saveImage: (UIImage*)image
{
if (image != nil)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
[NSString stringWithString: @"test.png"] ];
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];
}
}
- (UIImage*)loadImage
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
[NSString stringWithString: @"test.png"] ];
UIImage* image = [UIImage imageWithContentsOfFile:path];
return image;
}
添加以下内容:
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
if ([self isPad]) {
if(picker.sourceType==UIImagePickerControllerSourceTypePhotoLibrary)
{
[popoverController dismissPopoverAnimated:YES];
}
else
{
[picker dismissModalViewControllerAnimated:YES];
[picker release];
}
}
else
{
[picker dismissModalViewControllerAnimated:YES];
}
}
-(void) imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo :(NSDictionary *)info
{
UIImage *imageToScale=[info objectForKey:UIImagePickerControllerOriginalImage];
flagImageSelected=YES;
/*Set Image on the Btn with Image Insets.*/
//Image Insets TOP, LEFT, BOTTOM, RIGHT
if([self isPad])
{
[btnImage setImageEdgeInsets:UIEdgeInsetsMake(31.0,33.0,36,36.0)];
//imageToScale =[imageToScale scale:CGSizeMake(530, 546)];
imageToScale=[imageToScale scaleToSize:CGSizeMake(530, 546)];
}
else
{
[btnImage setImageEdgeInsets:UIEdgeInsetsMake(13.0,13.0,14.0,14.0)];
imageToScale=[imageToScale scaleToSize:CGSizeMake(300, 300)];
}
[btnImage setImage:imageToScale forState:UIControlStateNormal];
if ([self isPad]) {
if(picker.sourceType==UIImagePickerControllerSourceTypePhotoLibrary)
{
[popoverController dismissPopoverAnimated:YES];
}
else
{
[picker dismissModalViewControllerAnimated:YES];
[picker release];
}
}
else
{
[picker dismissModalViewControllerAnimated:YES];
//[picker release];
}
}
-(NSString *) getImagePath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error;
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:&error];
return documentsDirectory;
}
(1) 重新计算是没有用的。(2) 这段代码有许多严重的bug,表明代码的作者在没有考虑每一行的作用的情况下将其复制/粘贴在一起。(3) 在没有解释或上下文的情况下发布代码并没有太大的帮助(除非它很短并且“正常工作”)。Thnx对于anwser…真的很有帮助
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
if ([self isPad]) {
if(picker.sourceType==UIImagePickerControllerSourceTypePhotoLibrary)
{
[popoverController dismissPopoverAnimated:YES];
}
else
{
[picker dismissModalViewControllerAnimated:YES];
[picker release];
}
}
else
{
[picker dismissModalViewControllerAnimated:YES];
}
}
-(void) imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo :(NSDictionary *)info
{
UIImage *imageToScale=[info objectForKey:UIImagePickerControllerOriginalImage];
flagImageSelected=YES;
/*Set Image on the Btn with Image Insets.*/
//Image Insets TOP, LEFT, BOTTOM, RIGHT
if([self isPad])
{
[btnImage setImageEdgeInsets:UIEdgeInsetsMake(31.0,33.0,36,36.0)];
//imageToScale =[imageToScale scale:CGSizeMake(530, 546)];
imageToScale=[imageToScale scaleToSize:CGSizeMake(530, 546)];
}
else
{
[btnImage setImageEdgeInsets:UIEdgeInsetsMake(13.0,13.0,14.0,14.0)];
imageToScale=[imageToScale scaleToSize:CGSizeMake(300, 300)];
}
[btnImage setImage:imageToScale forState:UIControlStateNormal];
if ([self isPad]) {
if(picker.sourceType==UIImagePickerControllerSourceTypePhotoLibrary)
{
[popoverController dismissPopoverAnimated:YES];
}
else
{
[picker dismissModalViewControllerAnimated:YES];
[picker release];
}
}
else
{
[picker dismissModalViewControllerAnimated:YES];
//[picker release];
}
}
-(NSString *) getImagePath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error;
[[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:&error];
return documentsDirectory;
}