Facebook Graph API — неправильная ориентация изображения

#ios #facebook #graph #orientation

#iOS #Facebook #График #ориентация

Вопрос:

Я исправляю ориентацию моего приложения только на альбомную.

Вот как я получаю снимок экрана.

 UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
  

и я меняю ориентацию с помощью

 UIImage * landscapeImage = [[UIImage alloc] initWithCGImage: img.CGImage scale: 1.0 orientation: UIImageOrientationRight];
  

Я использую fb iOS SDK для публикации скриншота в Facebook.

 NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               landscapeImage, @"picture",
                               SOME_URL,@"link",
                               @"Have fun",@"name",
                               @"Join the fun",@"message",
                               @"0",@"position",
                               nil];
[_facebook requestWithGraphPath:@"me/photos"
                                andParams:params
                            andHttpMethod:@"POST"
                              andDelegate:self];
  

Проблема в том, что я не могу контролировать ориентацию, и ориентация загруженных изображений всегда либо

 -----
|   |
| P |
-----
  

или

 -----
|   |
| q |
-----
  

но я хочу, чтобы изображение располагалось горизонтально (альбомная ориентация).

 -------
|      |  
-------
  

заранее спасибо!

Ответ №1:

  UIGraphicsBeginImageContext(CGSizeMake(1024, 768));
        [rotateImg drawInRect:CGRectMake(0, 0, 1024, 768)];
        UIImage *landscapeImage = [UIGraphicsGetImageFromCurrentImageContext() retain];
        UIGraphicsEndImageContext();
  

вот как решить проблему.

Ориентация UIImages предназначена только для «ОТОБРАЖЕНИЯ», вам нужно перерисовать изображение