2015-01-09 2 views
0

У меня есть приложение для фотосъемки для Android, которое использует системную камеру, и после захвата я собираю растровое изображение изображения и сохраняю его в своем местоположении с использованием растрового сжатия. Стрим-писатель, камера телефона неплохая, но изображение, которое я получаю с использованием намерения, является низким качеством.
Почему это происходит, когда атрибут качества изображения равен 100?
Надеюсь, есть другой способ. Спасибо за вашу помощь. вот мой код для вызова камеры и сохранения изображения.android убрал качество изображения слишком плохое качество

.. 
Intent pic = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(takePicture, 0); 


....after photo shoot 

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 

    if (requestCode == CAMERA_PIC_REQUEST) { 

     Bitmap b = (Bitmap) intent.getExtras().get("data"); 

     fileOutputStream files = new 
     fileOutputStream(new File(Environment.getExternalStorageDirectory()+"/myFolder/","image.jpg")); 
      b.compress(Bitmap.CompressFormat.JPEG, 100, files); 

} 
} 

ответ

0

Если вы хотите полный размер при использовании захвата камеры через Intent, необходимо указать выходной URI, как так:

takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputImageUri); 

В противном случае, это изображение возвращается в Intent статистов данные поле - миниатюра.

Смежные вопросы