Какие значения принимает Camera.Parameters.set ("picture-size",?)? - PullRequest
1 голос
/ 18 марта 2010

мое приложение требует некоторой работы с камерой, поэтому оно должно обрабатывать захват изображений с различным разрешением. Мои цели 1.6 - вперед. Кто-нибудь знает, что передать значение аргумента для

Camera.Parameters.set("picture-size", value)

Я посмотрел на версию приложения «Камера» для пончика, однако не очень понятно, что именно там использовалось, поскольку значение извлекается из SharedPreferences.

// Set picture size parameter. String pictureSize = mPreferences.getString(CameraSettings.KEY_PICTURE_SIZE, getString(R.string.pref_camera_picturesize_default)); mParameters.set(PARM_PICTURE_SIZE, pictureSize);

Посмотрите на strings.xml. Я вижу, что R.string.pref_camera_picturesize_default = 2048x1536, однако я не уверен, какие другие значения могут быть переданы туда? Это какое-то разрешение, которое вам нравится, или драйверы могут работать только с определенными разрешениями? Благодаря.

1 Ответ

3 голосов
/ 18 марта 2010

Что ж, я бы справился с этим двояко:

  • Для Android 2.0 (API 5) и новее используйте Camera.Parameters и его метод getSupportedPictureSizes(), чтобы узнать, какие параметры доступны для оборудования, на котором вы работаете
  • Для Android 1.6 я бы просто оставил один размер

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

...