2010-11-16 3 views
1

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

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]; 

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

ответ

0

Я, наконец, понять это благодаря this link.

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

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

0

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

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

+0

Ну, я отобразил изображение на UIImageView, и оно отображается правильно. Разве это не означает, что у него правильная ориентация? – Rafael

+0

Я действительно не знаю; это могло бы или нет. UIImageView может просто повернуть его для вас на основе данных EXIF; Я бы порекомендовал попробовать изображение, загруженное с facebook, так как почти гарантированно имеет правильную ориентацию. Затем загрузите его снова и посмотрите, будет ли он повернут. – taxilian

+0

Так что я использовал код DemoApp, который использует изображение с URL-адреса, и это сработало. Я также тестировал локальный образ, и он тоже работал. – Rafael

Смежные вопросы