Загрузка картинок на Facebook - PullRequest
1 голос
/ 17 ноября 2010

Я пишу приложение, которое публикует изображения на Facebook с помощью facebook-ios-sdk, но каждый раз, когда я загружаю изображение, оно отображается с неправильной ориентацией в моем альбоме. Вот код, который я использую, обратите внимание, что я учитываю ориентацию во второй строке:

   ALAssetRepresentation *rep = [currentAsset defaultRepresentation];

    UIImage *img = [UIImage imageWithCGImage:[rep fullResolutionImage] scale:[rep scale] orientation:[rep orientation]];        


    NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                    img, @"picture",
                                    [pictureCaptionTextView text], @"caption",
                                    nil];

    [facebook requestWithMethodName: @"photos.upload"
                           andParams: params
                       andHttpMethod: @"POST"
                         andDelegate: self];

    [img release];

Кто-нибудь знает, что происходит? Должен ли я передать ориентацию при загрузке?

Ответы [ 2 ]

0 голосов
/ 18 ноября 2010

Я наконец понял это благодаря этой ссылке .

Хитрость в том, что UIImageView автоматически поворачивает изображение правильно, но необработанные данные всегда имеют ориентацию камеры по умолчанию (пейзаж, вверху справа), поэтому вам необходимо соответствующим образом отрегулировать.

Бонус: этот метод изменяет размер изображения, если вам нужно.

0 голосов
/ 17 ноября 2010

Вы пробовали использовать разные фотографии или каждый раз тестируете одни и те же изображения?Иногда изображение будет иметь EXIF-данные, которые сообщат программам изображения, чтобы они вращались;возможно, Facebook использует данные EXIF, которых нет в вашем локальном приложении, и, следовательно, вращается, или локально ваша программа отображает их повернутыми, а Facebook - нет.

Попробуйте просмотреть фотографию внесколько разных браузеров, и еще лучше попробуйте загрузить фотографию с Facebook, а затем повторно загрузить ее =]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...