У меня есть это приложение для iPhone, которое позволяет пользователям делать снимки и сохранять их в онлайн-базе данных. Моя проблема в том, что каждый раз, когда пользователь делает снимок и сохраняет его, картинка получается в альбомной ориентации, даже если она была сделана в портретном режиме. Это приводит к растяжению портретной картинки.
Это код, который я использую при съемке:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
NSData *imgData=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"],1);
UIImage *img=[[UIImage alloc] initWithData:imgData];
if(img.size.width < img.size.height){
NSLog(@"width < height");
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
}
else{
NSLog(@"width > height");
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 460, 320)];
}
imageView.image = img;
[img release];
[[self view] fillPreviewWithImg: imageView];
[[self view] setImage: imageView.image];
}
По сути, я делаю снимок, создаю UIImage, проверяю, портрет это или пейзаж, создаю соответствующий UIImageView и затем устанавливаю изображение в UIImageView. После этого я просто вызываю несколько методов для настройки изображения в главном окне.
Я считаю, что проблема с растяжением связана не с PHP, а с кодом Objective-C, но я не могу понять, как и почему это происходит.
У кого-нибудь из вас есть идея?
Спасибо
Masiar