我正在创建一个应用程序,在按钮上单击我打开默认相机到相机图像并保存该图像。但是当我正在查看该图像时,该图像的质量非常差。我不知道为什么这正在发生???
代码
if (userSelection.contains("Camera")) {
intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
btChooseDoc.setText("Choose File");
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);{
Bitmap camera;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
if (requestCode == 1 && resultCode == getActivity().RESULT_OK) {
camera = (Bitmap) data.getExtras().get("data");
Uri tempUri = getImageUri(getActivity(), camera);
strFilePath = getPath(getActivity(), tempUri);
file = new File(strFilePath);
camera.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
// camera = Bitmap.createScaledBitmap(camera, 150, 150, false);
image.setImageBitmap(camera);
date = sdf.format(new Date());
}
答案 0 :(得分:0)
更改
galleryImage.compress(Bitmap.CompressFormat.JPEG, 60, bytes);
到
galleryImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
compress
方法中的第二个参数是图像的quality
。如果给出一个较小的值,它会降低图像质量以压缩它。