2012-06-13 5 views
5

Я использую приведенный ниже код, чтобы открыть камеру. Можно ли установить разрешение камеры на высокий уровень программно?Измените настройку разрешения камеры программно в android

private void openDefaultCameraApp() { 
    Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(i, CAPTURE_PHOTO_CONSTANT); 
} 

ответ

2

Вы должны добавить MediaStore.EXTRA_OUTPUT намерению. В дополнение, вы должны указать Uri для изображения, которое будет сохранено. Это сохранит изображение с полным разрешением, иначе оно просто защелкнет небольшое изображение.

Обратитесь к Android документации: ACTION_IMAGE_CAPTURE

Стандартная Intent действия, которые могут быть посланы, чтобы иметь приложение камеры захвата изображения и вернуть его. Вызывающий может передать дополнительно EXTRA_OUTPUT, чтобы контролировать, где будет изображено это изображение. Если EXTRA_OUTPUT нет, то изображение небольшого размера возвращается как объект Bitmap в дополнительном поле. Это полезно для приложений, которым требуется только небольшое изображение. Если EXTRA_OUTPUT присутствует, то полноразмерное изображение будет записано на значение Uri из EXTRA_OUTPUT

1

Вы можете использовать способ this, чтобы получить все поддерживаемые размеры картин.

public List<Camera.Size> getSupportedPictureSizes() 

Вы получите List поддерживаемых размеров изображений. И затем из этого вы можете установить любой размер, который вы хотите использовать this.

public void setPictureSize (int width, int height) 
+9

Он использует метод Intent, а не объект Camera. Обратите внимание: метод называется openDefaultCameraApp() –

2

Я думаю, что его не возможен увидеть ссылку ниже:

Open Android Camera in lower resolution with ACTION_IMAGE_CAPTURE

Вы должны вручную установить разрешение с экрана предварительного просмотра камеры.

Если вы получаете небольшую привязку, даже если разрешение камеры установлено на высокий, используйте подход Zed Scio.

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