2012-03-13 49 views
8

私はFacebook SDKを使用して、ユーザーが自分のアプリを使って壁にコンテンツを共有できるようにしています。典型的なポストにはテキストとポストに付随するイメージが含まれている、Facebook SDKのかなり標準的な設定です。iOSのFacebook投稿用に高品質の画像を表示

これはすべてうまくいきますが、私の問題は、Facebookが画像を適切にサイズ変更して変換するので、Retinaディスプレイで見るとポスト画像が少しピクセル化して見えることです。誰かがこれのために高品質の画像をFacebookが確実に使用する方法があるかどうかを知っていますか?

また、私が使用している元の画像は十分に高画質ですが、Facebookはそれらを少し劣化させ、Retinaディスプレイではあまり見栄えが悪くなります。これを何らかの方法で避けることはできますか?

以下は私が使用しているかなり標準的なFacebookのポストコードからの抜粋です。

私がリンクしている画像は約250x250px JPGであることに注意してください。

編集: 意味を明確にするためにサンプル画像を追加しました。私はここに網膜ディスプレイのための高解像度画像を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]; 

(注:アルバムのためにアップロードされた画像は、それぞれの側に960ピクセル幅よりも小さくする必要があります参照してください。Facebook Documentation

+0

あなたの時間のために非常に感謝jaydee。あなたは実際に誰かの壁に写真を投稿することを指していますか? Qがあまり明確でない場合に備えて、わかりやすく私の質問にサンプル写真を追加しました。 – Madhu

+0

これはまさに別のアイデアだった、高品質の画像をFacebookに送る方法。私は実際のwallpostを参照していませんが、ユーザーが写真をアップロードするときに自動wallpostが作成されます。私はあなたwallpostsのデフォルトのFacebookの画像サイズを変更することはできない*と思います。 – calimarkus

+0

私は同意します。まだ私は恐れていますが、これを解決する方法がないように見えます。私は未回答の質問自体を残していますが、賞金が1時間で失効することを見て、私はちょうど入れます。それを無駄にする理由はありません:) – 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に依存させる代わりに、デバイスごとにイメージのソースを変更することをお勧めします。

関連する問題