【发布时间】:2011-05-24 08:31:55
【问题描述】:
简单地说,我需要使用相机捕捉图像并通过我的 android 应用程序将其上传到 facebook。我成功地做到了。问题是当照片发布在 facebook 上时,它太小而且分辨率低,而我拍摄的图像是高分辨率的。
我明白:为了上传到 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 方法,因为该方法是压缩位图图像并将其转换为字节数组,这使我的图像变成了低分辨率图像。但是,如果不先将其转换为字节数组,我似乎找不到上传图像的方法。有什么解决办法吗?
【问题讨论】:
-
您尝试过使用 compressformat.JPEG 吗? 100 质量它可能会解决问题
标签: android facebook facebook-graph-api