2011-05-24 8 views
0

単にカメラを使用して画像をキャプチャし、Androidアプリケーションを使用してFacebookにアップロードする必要があります。そして私はそれを成功させました。問題は、写真がフェイスブックに投稿されたときに、それはちょうど小さすぎると低解像度で、私が撮った画像は高解像度であるときです。Facebook Graph APIとAndroidを使用してアップロードしようとすると画像が小さすぎる

私は理解しています:Facebookにアップロードするには、ビットマップ形式のキャプチャされたイメージをバイト配列に変換する必要があります。だから私はそのための方法があります:

public static byte[] convertBitmapToByteArray(Bitmap bm){ 
     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     bm.compress(CompressFormat.PNG, 100, bos); 
     byte[] bitmapdata = bos.toByteArray(); 
     return bitmapdata; 
    } 

がその後のFacebookに画像をアップロードするために、私はbyteDataは、私は上記の方法を使用してビットマップ画像から変換されたバイト配列である場所の下のコードを持っています。

parameters.putString("message", "Test"); 
parameters.putByteArray("source", byteData); 
String facebookResponse = facebookInstance.request(albumId+"/photos",parameters,"POST"); 
     return facebookResponse; 

私は方法は、ビットマップ画像を圧縮し、バイト配列にそれを回すことであり、これは、低解像度の画像に私の画像を作ったので、問題は私のconvertBitmapToByteArray方法であるかなり確信しています。しかし、私は最初にバイト配列に変換せずにイメージをアップロードする方法を見つけることができないようです。私のための任意のソリューションですか?

+0

compressformat.JPEGを試しましたか? 100の品質でそれは問題を解決するかもしれない – Arcantos

答えて

0

このスレッドでも古いですが、私は答えを見つけました。 CompressFormant.JPEGまたはCompressFormat.JPGの問題ではありません。簡単に言えば、アンドロイドの意図は、活動から活動までのイメージのような大きなデータを運ぶようには設計されていません。私はそこからそれを引き出す前に、最初にSDカードに画像を保存する必要があります。それは私の解決策です。

関連する問題