2010-08-29 63 views
0

我在一個源碼錶作爲二進制大對象數據存儲圖像和使用下面的代碼顯示它:顯示從SQLite表的圖像

self.myImage.image = [[[UIImage的頁頭] initWithData:recipe.image ] autorelease];

我現在在sqlite字段中使用圖像文件名,並將圖像存儲在文件系統中。代碼將如何顯示它?我很難找出答案。

通常顯示來自我將使用的文件系統的圖像: UIImage * image = [UIImage imageNamed:@「something.png」];

在這種情況下,我必須抓住表字段/屬性中的字符串。

在此先感謝。

回答

1

您可以通過以下API以絕對文件路徑加載UIImage。

+ (UIImage *)imageWithContentsOfFile:(NSString *)path; 

+(UIImage *)imageNamed:(NSString *)name將從應用程序的主包中查找圖像。換句話說,它將從資源中查找圖像。

編輯:

你說你將圖像存儲在文件系統上。所以,我認爲你可以從sqlite數據庫中檢索圖像的絕對路徑,不是嗎?

NSString *imgPath; 

/// get imgPath from sqlite database 
... 

/// get the image by filepath 
self.myImage.image = [UIImage imageWithContentOfFile:imgPath]; 

而且,我的問題是如何將圖像存儲在文件系統上。

+0

圖像的名稱來自數據庫表。所以如果表的名字是'recipe',那麼這個字段就叫做'image'(recipe.image),那麼它將如何適應你發佈的代碼行。 這是令我困惑的語法。謝謝 – hanumanDev 2010-08-29 06:25:30

+0

感謝您的幫助 – hanumanDev 2010-08-29 07:34:54

+0

這是我最終使用的代碼: CGRect myImageRect = CGRectMake(5.0f,45.0f,310.0f,315.0f); UIImageView * myImage = [[UIImageView alloc] initWithFrame:myImageRect]; [myImage setImage:[UIImage imageNamed:recipe.image]]; myImage.opaque = YES; – hanumanDev 2010-08-29 07:36:41