2012-03-13 7 views
8

Utilizzo l'SDK di Facebook per consentire agli utenti di condividere i contenuti tramite la mia app sulle loro pareti. È un bel set-up standard con l'SDK di Facebook dove un post tipico conterrà del testo e un'immagine per accompagnare il post.Visualizzazione di immagini di qualità superiore per i post di Facebook per iOS

Questo funziona perfettamente, ma il mio problema è che, dal momento che Facebook ridimensiona e converte le immagini come meglio ritengono, le immagini dei post appaiono un po 'pixelate se visualizzate su un display Retina. Qualcuno sa se esiste un modo per garantire che Facebook usi un'immagine di qualità superiore per questo?

Ancora una volta, per chiarire, le immagini originali che sto usando sono di qualità abbastanza alta, ma Facebook le degrada un po 'troppo e finiscono per non sembrare troppo buone su un display Retina. Possiamo evitarlo in qualche modo?

Di seguito è riportato un estratto dal codice postale di Facebook standard piuttosto che sto utilizzando;

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

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

Si noti che le immagini che sto collegando sono approssimativamente 250x250 px JPG, se questo aiuta.

EDIT: Aggiunta un'immagine di esempio per chiarire cosa intendo. Sto cercando di capire se c'è un modo per chiedere a Facebook di usare un'immagine ad alta risoluzione per i display retina qui.

Post image and how it looks on FB

Grazie in anticipo!

+0

Che codice stai usando per catturare l'immagine e mostrarla in seguito nella tua app? Facebook memorizza diverse dimensioni di ogni immagine. In genere, è possibile ottenere la versione di qualità superiore con un semplice parametro stringa di query, ma dipende da come si sta recuperando l'immagine. –

+0

@Inturbidus, Grazie per le informazioni, ma non sto parlando di ottenere foto da Facebook dalla mia app; piuttosto, caricare/condividere contenuti tramite la mia app su FB. Ho aggiunto una foto per chiarire ulteriormente ciò di cui ho bisogno. – Madhu

+0

Ah mi dispiace, ho frainteso. –

risposta

1

È possibile aggiornare la foto negli album fotografici dell'utente. Ciò comporterà anche un post sul muro. (Se che si adatta anche nel tuo caso.) Sarebbe il codice:

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

(Nota: le immagini caricate per gli album devono essere inferiori a 960 per lato vedi:. Facebook Documentation)

+0

Grazie mille per il tuo tempo jaydee. Ti stai riferendo a pubblicare effettivamente una foto sul muro di qualcuno? Ho aggiunto una foto campione nella mia domanda per chiarezza, nel caso in cui la Q non fosse troppo chiara. – Madhu

+0

beh questa era solo un'altra idea, come portare immagini di qualità superiore a Facebook. Non sto riferendo a un vero wallpost, ma verrà creato un wallpost automatico, quando un utente carica le foto. Immagino che tu * non possa * cambiare la dimensione predefinita di Facebook per i wallposts. – calimarkus

+0

Sono d'accordo. Non ho ancora una risposta a questo ho paura, ma sembra che non ci sia modo di risolvere questo problema. Lascerò la domanda in sé senza risposta, ma vedendo che la taglia scadrà fra un'ora, ti rimprovererò. Nessun motivo per lasciarlo andare in rovina :) – 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. 

Ti suggerirei di modificare la sorgente dell'immagine come per il dispositivo piuttosto che dipendere da FB.

Problemi correlati