2011-01-23 21 views
1

これは問題ではないかもしれませんが、Facebookアルバム写真の画像圧縮がアップロード前またはアップロード後にどこで発生するかを調べようとしています。私はFacebookのアルバムにUIimageを送信しています。これは他のソースからアップロードした私の他の写真と同様に、Facebookの640X480でおよそ43kbのjpegになります。電子メールに同じUIImageを添付すると、640x480の461 KBのJPEGになります。Facebookの画像圧縮iOS SDK

Facebookのアップロードには時間がかかるので、私は2つの質問があるようにそれをスピードアップしたいと思います。

  1. FacebookのサーバまたはFacebookのデバイスの圧縮はどこで行われますか?

  2. サーバー上で起こっている場合、jpegで許可されているように、リサイズせずにアップロードする前に自分のデバイスでUIImageを圧縮するにはどうすればよいですか(100X80にリサイズするなど)。私はUIImageJPEGRepresentationを使用しようとしましたが、UIImageの代わりにNSDataが送信された場合、Facebook SDKは私にエラーを与えます。コードのこのセクションでFBRequest.mで

     NSData* imageData = UIImagePNGRepresentation((UIImage*)dataParam); 
        [self utfAppendBody:body 
            data:[NSString stringWithFormat: 
             @"Content-Disposition: form-data; filename=\"%@\"\r\n", key]]; 
        [self utfAppendBody:body 
            data:[NSString stringWithString:@"Content-Type: image/png\r\n\r\n"]]; 
    

     NSData* imageData = UIImageJPEGRepresentation((UIImage*)dataParam, 1); 
         [self utfAppendBody:body 
            data:[NSString stringWithFormat: 
              @"Content-Disposition: form-data; filename=\"%@\"\r\n", key]]; 
         [self utfAppendBody:body 
            data:[NSString stringWithString:@"Content-Type: image/jpeg\r\n\r\n"]]; 
    

    、それが約半分にロードした少しはより多くの私は、コードのこのセクションを置き換え掘った後

+0

Facebook SDKが画像をデバイス上で圧縮するかどうかを判断できましたか? – dazhi

+0

私はこれを書いた時点で、Facebookがサーバー上でやったにもかかわらずFacebook SDKがアップロード前に画像を圧縮していないと判断しました。 Facebookの最終的な写真とオリジナルのSDKをアップロードした場合と同じ品質のものを作りました。 – Aaron

答えて

2

時間。あなたがgitの投稿を作ろうと思っています