как конвертировать nsdata в изображение? - PullRequest
1 голос
/ 20 августа 2010

Я разрабатываю приложение, в котором я беру NSData и преобразовываю его в изображение, отображая его в виде изображения. Теперь я хочу сохранить эти данные и снова отобразить их в UIImageView. Я использовал NSUserDefaults, чтобы сохранить NSData и снова получить эти данные и преобразовать в изображение и отобразить его в виде изображения. Но я не получаю изображение обратно. Мой код выглядит следующим образом:

//for saving  nsdata using nsuserdefaults method:-
NSUserDefaults *defsMVC=[NSUserDefaults standardUserDefaults];
[defsMVC setObject:stateMVC forKey:@"MapImageObject"];

//for retrieving nsdata from nsuserdefaults and display it in imageview
NSUserDefaults *defsMVC=[NSUserDefaults standardUserDefaults];

NSData *stringmapdata=[defsMVC dataForKey:@"MapImageObject"];

UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 6, 320,415)];
UIImage *image = [UIImage imageWithData:stringmapdata];
[imageView setImage:image];
[image release];
[self.view addSubview:imageView];
[self.view sendSubviewToBack:imageView];
[imageView release];

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

Я не думаю, что вы должны хранить данные в пользовательских настройках по умолчанию, попробуйте сохранить их в файле, подобном «yourimage.png», тогда вы можете просто сделать [[NSImage alloc] initWithConentsOfFile: path];

Также попробуйте использовать NSArchiver перед сохранением его по умолчанию:

NSImage *image = [NSUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"someKey"]];

А для архивации его пользователю по умолчанию:

[[NSUserDefaults standardUserDefaults] setObject:[NSArchiver archivedDataWithRootObject:image] forKey:@"someKey"];

Должен любить какао =)

0 голосов
/ 28 августа 2013

Мое изображение хранится в 6-м столбце в форме NSData, сначала я должен получить эти данные в объект NSData. Чем преобразовать эту NSData в изображение.

data = [[NSData alloc] initWithBytes:sqlite3_column_blob(statement, 6)
                              length:sqlite3_column_bytes(statement, 6)];
img = [UIImage imageWithData:data];
imgdata = [[NSMutableArray alloc]initWithObjects:img, nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...