2011-07-12 62 views
10

中存儲的文檔目錄文件夾一個應用圖片,Iphone:如何在圖像視圖中顯示文檔目錄圖像?

我想在圖片查看特定的圖像顯示,

如何在圖像查看圖像顯示在文檔目錄?

+1

我能想到的唯一答案這裏是'[[UIImageView alloc] initWithImage:[UIImage imageNamed:@「my_image」]]'。爲什麼這不適合你? –

+1

我正在從服務器下載圖像。該圖像保存在文檔目錄中。我想在圖像視圖中顯示圖像 –

+0

Hello Ankit。請檢查我的答案。我也提供了示例代碼。這很容易。 – AppAspect

回答

18

示例代碼:

- (NSString *)applicationDocumentsDirectory { 
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
} 

-(void)loadimage{ 
    NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"your image-name"]; 
    UIImageView *myimage=[UIImageView alloc] initWithFrame:CGRectMake(0,0,20,20)]; 
    myimage.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]];  
    [self.view addSubView:myimage]; 
    [myimage release]; 
} 

TNQ

+0

您的示例代碼適用於捆綁圖像。在這裏,我們需要從圖像目錄中獲取圖像。 – AppAspect

6

在這裏,您可以採取的UIImageView在您的視圖,並將其添加到視圖做同樣類似如下:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *imageFilePath; 
NSError *err; 

imageFilePath = [documentsDirectory stringByAppendingPathComponent:@"image1.png"]; 

UIImageView *objImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)]; 
objImageView.image = [UIImage imageWithContentsOfFile: imageFilePath]; 
[self.view addSubVIew:objImageView.image]; 
[objImageView release]; 

請讓我知道你是否仍然需要任何幫助。

+0

你可以添加圖像視圖的pathe和你可以直接添加圖像到imageview從該路徑使用這個:objImageView.image = [UIImage imageWithContentsOfFile:imageFilePath]; – AppAspect

4
NSArray *directoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 
NSString *imagePath = [directoryPath objectAtIndex:0]; 
imagePath= [imagePath stringByAppendingPathComponent:@"imagename.png"]; 

NSData *data = [NSData dataWithContentsOfFile:imagePath]; 
    UIImage *img = = [UIImage imageWithData:data]; 

可以顯示此圖片的UIImageView

8

可以實現它,通過了解你的圖像的名字,所以當你在存儲你的形象,你需要存儲這些圖像的一些信息數據庫(或某些地方,你可以用它),然後取從數據源圖像的名稱,工作方式如下:

NSString *str = [NSString stringWithFormat:@"%@.jpg",[myGlobleArrayOfImageNames objectAtIndex:imageCounter]]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fullImgNm=[documentsDirectory stringByAppendingPathComponent:[NSString stringWithString:str]]; 
[mainSlideShowImageView setImage:[UIImage imageWithContentsOfFile:fullImgNm]]; 
1

你需要的代碼下面幾行從文件目錄

0獲得的UIImage
-(UIImage*)getImage:(NSString *)strImageName 
{ 
NSString *documentDirectory=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
NSString *imagePath=[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@",strImageName]]; 
UIImage *image=[UIImage imageWithContentsOfFile:imagePath]; 
return image; 
} 

調用上面的函數並使用UIImage對象來設置任何你想要的。 您也可以在普通的類中編寫此方法以在任何地方使用它。

0

添加到這些問題的答案,我覺得它很好的做法,以檢查文件是否存在這樣的...

NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *file = [directory [email protected]"my_image.jpg"]; 
if ([[NSFileManager defaultManager] fileExistsAtPath:file]) { 
    self.myimageview = [UIImage imageWithData:[NSData dataWithContentsOfFile: file]]; 

} 
0

簡單使用此代碼

NSFileManager *filemgr =[NSFileManager defaultManager]; 
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *docsDir = [dirPaths objectAtIndex:0]; 
NSString *dataPath = [docsDir stringByAppendingPathComponent:@"/yourdirectory/image.jpg"]; 
NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL fileURLWithPath:dataPath]]; 
self.imageview.image = [[UIImage alloc] initWithData:imgData]; 
相關問題