我正在尝试使用相机开发应用程序。我已经成功将图像保存在SD卡中,但图像将被发送到服务器,因此我需要将图像缩小。我现在的大小是2.3 MB。有没有办法让图像更小?
private PictureCallback mPicture = new PictureCallback()
{
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
if (pictureFile == null){
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
Log.d(TAG, "File not found: " + e.getMessage());
} catch (IOException e) {
Log.d(TAG, "Error accessing file: " + e.getMessage());
}
camera.startPreview();
}
};
答案 0 :(得分:0)
您可以使用此
压缩位图图像(如果它存储在Bitmap中)preview_bitmap.compress(CompressFormat.PNG,90,out);
答案 1 :(得分:0)
您有两种选择:
调整图像大小。通过将分辨率降低2倍,可以获得最佳效果。请参阅此示例:https://stackoverflow.com/a/823966/248432
进一步压缩图像(正如Ravi Kumar已经回答的那样)。