gpt4 book ai didi

iphone - 选择图像以在我的整个应用程序中用作UIViewController背景

转载 作者:行者123 更新时间:2023-12-01 18:23:17 26 4
gpt4 key购买 nike

当我的iPhone应用程序首次运行时,它会要求您从iPhone库中选择一个图像作为整个应用程序的背景。以下是相关代码:

/*
* Responds when an image is selected (from browsing)
*/
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
[self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage])
{
//Not really sure what to do here
UIImage *image = [[UIImage alloc] initWithData:UIImageJPEGRepresentation([info objectForKey:UIImagePickerController], .2)];
}
}

现在,我要保存该图像(或对此图像的引用)的内容,以便可以在整个应用程序中将其用作 UIViewController的一部分(60%)的背景
self.view.backgroundColor = [UIColor colorWithPatternImage:image];

什么是执行此的最佳/最有效/最简单的方法。我曾考虑过将图像保存到 NSUserDefaults中,但这似乎并不正确,因为 NSUserDefaults仅应用于小型对象。我应该将其保存到磁盘吗?但是,然后每次我搜索时,从磁盘读取数据时我的应用程序就不会真的慢吗? (如果这是正确的方法,我该怎么做?)

最佳答案

将图像存储在文档目录中
保存图像

- (void)saveImage:(UIImage *)image {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];

// Convert to Data
NSData *imageData = UIImagePNGRepresentation(image);
// write to file
[imageData writeToFile:savedImagePath atomically:NO];
}

要阅读图像,请使用以下
- (UIImage *)getImage {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
return img;
}

关于iphone - 选择图像以在我的整个应用程序中用作UIViewController背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com