2012-03-05 37 views
-5

私のアプリでは、ユーザーがテンプレートを追加できます。このテンプレートでは、任意の数の画像&のテキストビューを追加します。 彼は、フォント名、フォントの色、フォントサイズ&などのテキストビューのプロパティをさらに多く変更できます。 イメージ操作では、イメージを任意の角度に回転し、実行時にサイズを増減できます。これを実行した後、ユーザーはこのテンプレート&を保存し、後で参照してください。 私はこのすべての操作をユーザが実行するために保存したいと考えています&最近のリストを見る どうすればいいですか?画像をデータベースに保存

答えて

1
sqlite3 *database; 
    [email protected]"dataTable.sqlite"; 
    NSArray *documentpath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentdir=[documentpath objectAtIndex:0]; 
    dbPath=[documentdir stringByAppendingPathComponent:dbName]; 
    sqlite3_stmt *compiledStmt; 
    if(sqlite3_open([dbPath UTF8String], &database)==SQLITE_OK){ 
     NSLog(@"Name:%@,Company:%@,URL:%@",model.personName,model.companyName,model.imgurl); 
     const char *insertSQL="insert into Persons(PersonName,CompanyName,ImgUrl,PersonImage)values(?,?,?,?)"; 
    if(sqlite3_prepare_v2(database,insertSQL, -1, &compiledStmt, NULL)==SQLITE_OK){ 
     sqlite3_bind_text(compiledStmt,1,[model.personName UTF8String],-1,SQLITE_TRANSIENT); 
     sqlite3_bind_text(compiledStmt,2,[model.companyName UTF8String],-1,SQLITE_TRANSIENT); 
     sqlite3_bind_text(compiledStmt,3,[model.imgurl UTF8String],-1,SQLITE_TRANSIENT); 
     NSData *imageData=UIImagePNGRepresentation(imageView.image); 
     sqlite3_bind_blob(compiledStmt, 4, [imageData bytes], [imageData length], NULL); 
     NSLog(@"Prepare"); 
     sqlite3_step(compiledStmt); 
    } 
sqlite3_finalize(compiledStmt); 
0

私はあなたのDB内のディスクからイメージを取得するキーを保存することをお勧めします。
その後、NSArchiverNSUnarchiverを使用してディスクからイメージを取得します。

UIImage *img = [NSKeyedUnarchiver unarchiveObjectWithFile:db.ImgKey]; 

画像をdbで保存すると重くなり、重いものとなり重いものになります。

これが役に立ちます。

関連する問題