从文档目录加载图像到一个数组
问题描述:
我有一些JPG图像,我保存到相机镜头的文档目录。我想在文档目录中找到所有jpg图像,并将它们加载到数组中,以便它们可以处于溢出视图。从文档目录加载图像到一个数组
这里是我的代码来查找和排序文件目录中的jpg图像。
NSString *extension = @"jpg";
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:nil];
NSMutableArray *jpegFiles = [NSMutableArray arrayWithCapacity: [contents count]];
NSString *filename;
for (filename in contents)
{
if ([[filename pathExtension] isEqualToString:extension])
{
[jpegFiles addObject:[UIImage imageNamed:[documentsDirectory stringByAppendingPathComponent:filename]]];
}
}
// Add the coverflow view
coverflow = [[TKCoverflowView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
coverflow.coverflowDelegate = self;
coverflow.dataSource = self;
[self.view addSubview:coverflow];
[coverflow setNumberOfCovers:6];
- (void) coverflowView:(TKCoverflowView*)coverflowView coverAtIndexWasBroughtToFront:(int)index{
NSLog(@"Front %d",index);
}
- (TKCoverflowCoverView*) coverflowView:(TKCoverflowView*)coverflowView coverAtIndex:(int)index{
TKCoverflowCoverView *cover = [coverflowView dequeueReusableCoverView];
if(cover == nil){
// Change the covers size here
cover = [[TKCoverflowCoverView alloc] initWithFrame:CGRectMake(0, 0, 280, 210)]; // 224
cover.baseline = 200;
}
cover.image = [covers objectAtIndex:index % [covers count]];
return cover;
}
我已经尝试了所有我能想到的,没有任何工作。
有人建议我通过从路径名数组中获取图像的路径来加载每个图像,并使用imageWithContentsOfFile方法加载图像。
我看过这个,做了搜索如何做到这一点,但没有运气。有人能告诉我如何做到这一点。
答
你应该这样做如下,
if ([[filename pathExtension] isEqualToString:extension])
{
[jpegFiles addObject:[UIImage imageWithContentsOfFile:[documentsDirectory stringByAppendingPathComponent:filename]]];
}
的代码是好的,通过{如果([文件名pathExtension] isEqualToString:分机]) – user1114881 2012-03-18 04:35:26
对不起了长期在其他编辑这里的代码是经过精细{ if([[filename pathExtension] isEqualToString:extension]){[jpegFiles addObject:filename];}}它为所有带有.jpg扩展名的图像文件创建一个文件名的数组。我试图使用你的代码,但它不起作用。我想要做的只是将jpegFiles数组中的文件加载到covers数组中,并使用它们,但不知道如何尝试使用arrayWithArray,arrayWithArray,Copy只是继续崩溃。我非常感谢你的帮助和投入。 – user1114881 2012-03-18 04:51:43
我给出的代码为您提供了jpegFiles数组中文档目录中所有jpeg文件的UIImage对象。 – cocoakomali 2012-03-18 12:11:02