Получить UIImage, снятый с помощью takePicture - PullRequest
0 голосов
/ 30 мая 2011

В настоящее время я могу получить изображение, снятое с помощью takePicture, в функции imagePickerController, но я хочу использовать его вне этой функции, и когда я пытаюсь создать глобальную переменную для использования этого UIImage, у меня нет изображения.
Так, как я могу использовать этот UIImage?

Мой код:

- (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    screenshot = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}

и я использую его там:

NSData *imageData=[NSData dataWithData:UIImagePNGRepresentation(screenshot)];
NSURL *url = [NSURL URLWithString:@"http://myserver/test.php"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addData:imageData withFileName:@"tmp.jpg" andContentType:@"image/jpeg" forKey:@"userfile"];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request startSynchronous];
NSLog(@"responseStatusCode %i",[request responseStatusCode]);
NSLog(@"responseStatusString %@",[request responseString]);

снимок экрана - моя глобальная переменнаяи я получаю пустое изображение на моем сервере.Заранее спасибо.

1 Ответ

0 голосов
/ 30 мая 2011

Я предполагаю, что вы реализуете UIImagePickerControllerDelegate?Если это так, когда вызывается imagePickerController: didFinishPickingMediaWithInfo:, вы можете получить изображение из словаря, переданного с помощью:

UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];

Если вы хотите сохранить изображение, объявите свойство с помощью retain для вашего класса viewcontrollerи установите его:

self.image = [info valueForKey:UIImagePickerControllerOriginalImage];
...