2012-03-13 2 views
8

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

Все это прекрасно работает, но моя проблема заключается в том, что, поскольку 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

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

+0

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

+0

@Inturbidus, Спасибо за информацию, но я не говорю о том, чтобы получать фотографии из Facebook из моего приложения; скорее, загрузка/обмен контентом через мое приложение в FB. Я добавил фотографию, чтобы уточнить, что мне нужно. – Madhu

+0

Ах, извините, я неправильно понял. –

ответ

1

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

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

(Примечание: Загруженные изображения для альбомов должны быть меньше, чем 960px с каждой стороны см. Facebook Documentation)

+0

Большое спасибо за ваше время jaydee. Вы имеете в виду фактическую публикацию фотографии на чьей-то стене? Я добавил образец pic в свой вопрос для ясности, на случай, если Q не слишком ясен. – Madhu

+0

ну, это была еще одна идея, как принести более качественные изображения в facebook. im не ссылаясь на фактический wallpost, но автоматический wallpost будет создан, когда пользователь загружает фотографии. Я думаю, вы * не можете * изменить размер изображения facebook по умолчанию для стеновых столбов. – calimarkus

+0

Согласен. Все еще не получил ответа на это, я боюсь, но похоже, что это невозможно. Я оставлю этот вопрос без ответа, но, увидев, что щедрость истечет через час, я просто надену на тебя. Нет причин, позволяющих этому идти впустую :) – Madhu

0
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.

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