これは問題ではないかもしれませんが、Facebookアルバム写真の画像圧縮がアップロード前またはアップロード後にどこで発生するかを調べようとしています。私はFacebookのアルバムにUIimageを送信しています。これは他のソースからアップロードした私の他の写真と同様に、Facebookの640X480でおよそ43kbのjpegになります。電子メールに同じUIImageを添付すると、640x480の461 KBのJPEGになります。Facebookの画像圧縮iOS SDK
Facebookのアップロードには時間がかかるので、私は2つの質問があるようにそれをスピードアップしたいと思います。
FacebookのサーバまたはFacebookのデバイスの圧縮はどこで行われますか?
サーバー上で起こっている場合、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"]];
、それが約半分にロードした少しはより多くの私は、コードのこのセクションを置き換え掘った後
Facebook SDKが画像をデバイス上で圧縮するかどうかを判断できましたか? – dazhi
私はこれを書いた時点で、Facebookがサーバー上でやったにもかかわらずFacebook SDKがアップロード前に画像を圧縮していないと判断しました。 Facebookの最終的な写真とオリジナルのSDKをアップロードした場合と同じ品質のものを作りました。 – Aaron