Отображение изображений более высокого качества для постов Facebook для iOS - PullRequest
8 голосов
/ 13 марта 2012

Я использую Facebook SDK, чтобы пользователи могли обмениваться контентом через мое приложение со своими стенами. Это довольно стандартная настройка с SDK Facebook, где типичное сообщение будет содержать текст, а также изображение, сопровождающее сообщение.

Это все работает нормально, но моя проблема в том, что, поскольку Facebook изменяет размеры и конвертирует изображения по своему усмотрению, изображения постов выглядят немного пиксельными при просмотре на дисплее Retina. Кто-нибудь знает, есть ли способ убедиться, что Facebook использует для этого изображение более высокого качества?

Опять же, чтобы уточнить, исходные изображения, которые я использую, имеют достаточно высокое качество, но Facebook слишком сильно их ухудшает, и в итоге они выглядят не слишком хорошо на дисплее Retina. Можем ли мы избежать этого каким-либо образом?

Ниже приведена выдержка из довольно стандартного почтового индекса Facebook, который я использую;

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   sharingURL, @"link",
                                   sharingTitle, @"name",
                                   @" ", @"caption",
                                   description, @"description",
                                   actions, @"actions",
                                   picture, @"picture",
                                   nil];

[facebook dialog:@"feed" andParams:params andDelegate:self];

Обратите внимание, что изображения, на которые я ссылаюсь, имеют размер примерно 250x250 пикселей в формате JPG, если это поможет.

EDIT : Добавил образец изображения, чтобы уточнить, что я имею в виду. Я пытаюсь увидеть, есть ли способ попросить Facebook использовать изображение с высоким разрешением для дисплеев сетчатки здесь.

Post image and how it looks on FB

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

Ответы [ 3 ]

2 голосов
1 голос
/ 15 марта 2012

Вы можете обновить свою фотографию в фотоальбомах пользователя.Это также приведет к записи на стене.(Если это также подходит для вашего случая.) Это будет код:

// save image as data
UIImage* image = [...];
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
[params setValue: imageData forKey: @"source"];

// send post request
Facebook* facebook = [...];
[facebook requestWithGraphPath: @"me/photos" andParams: params andHttpMethod: @"POST" andDelegate: delegate];

(Примечание. Загруженные изображения для альбомов должны быть размером менее 960 пикселей с каждой стороны. См .: Документация Facebook )

0 голосов
/ 22 марта 2012
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2)    
{       
    //iPhone 4
   //Use @2x images here
    NSLog(@"iPhone 4");
}
else 
{
    //iPhone 3 or earlier
   //Use original images here
   NSLog(@"iPhone 3 or earlier");
}


//May this will help you.

Я бы предложил вам изменить источник изображения в соответствии с устройством, а не зависеть от FB.

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