Toma una foto con la cámara, o recupera una foto de Galería de imágenes del dispositivo. La imagen se pasa a la devolución de llamada de éxito como un codificado en base64 `String` , o como el URI para el archivo de imagen. El método se devuelve un `CameraPopoverHandle` objeto que puede utilizarse para volver a colocar el popover de selección de archivo.
El `camera.getPicture` función abre la aplicación de cámara predeterminada del dispositivo que permite a los usuarios ajustar imágenes. Este comportamiento se produce de forma predeterminada, cuando `Camera.sourceType` es igual a `Camera.PictureSourceType.CAMERA` . Una vez que el usuario ajusta la foto, una aplicación de cámara se cierra y se restablecerá la aplicación.
Si `Camera.sourceType` es `Camera.PictureSourceType.PHOTOLIBRARY` o `Camera.PictureSourceType.SAVEDPHOTOALBUM` , entonces una muestra de diálogo que permite a los usuarios seleccionar una imagen existente. El `camera.getPicture` función devuelve un `CameraPopoverHandle` objeto, que puede utilizarse para volver a colocar el diálogo de selección de imagen, por ejemplo, cuando cambia la orientación del dispositivo.
El valor devuelto es enviado a la `cameraSuccess` función de callback, en uno de los formatos siguientes, dependiendo del objeto `cameraOptions` :
* A `String` que contiene la imagen codificada en base64.
* A `String` que representa la ubicación del archivo de imagen de almacenamiento local (por defecto).
Puedes hacer lo que quieras con la imagen codificada o URI, por ejemplo:
* Utilidad de la imagen en un `<img>` etiqueta, como en el ejemplo siguiente
* Guardar los datos localmente ( `LocalStorage` , [Lawnchair][1], etc..)
* Enviar los datos a un servidor remoto
[1]: http://brianleroux.github.com/lawnchair/
**Nota**: resolución de la foto en los nuevos dispositivos es bastante bueno. Fotos seleccionadas de la Galería del dispositivo no son degradadas a una calidad más baja, incluso si un `quality` se especifica el parámetro. Para evitar problemas con la memoria común, establezca `Camera.destinationType` a `FILE_URI` en lugar de`DATA_URL`.
### Plataformas soportadas
* Amazon fuego OS
* Android
* BlackBerry 10
* Firefox OS
* iOS
* Tizen
* Windows Phone 7 y 8
* Windows 8
### Amazon fuego OS rarezas
Amazon fuego OS utiliza los intentos para poner en marcha la actividad de la cámara del dispositivo para capturar imágenes y en teléfonos con poca memoria, puede matar la actividad Cordova. En este escenario, la imagen no aparezca cuando se restaura la actividad cordova.
### Rarezas Android
Android utiliza los intentos para iniciar la actividad de la cámara del dispositivo para capturar imágenes, y en los teléfonos con poca memoria, puede matar la actividad Cordova. En este escenario, la imagen no aparezca cuando se restaura la actividad Cordova.
Incluyendo un JavaScript `alert()` en cualquiera de la devolución de llamada funciones pueden causar problemas. Envuelva la alerta dentro de un `setTimeout()` para permitir que el selector de imagen iOS o popover cerrar completamente antes de la alerta se muestra:
setTimeout(function() {
// do your thing here!
}, 0);
### Windows Phone 7 rarezas
Invocando la aplicación de cámara nativa mientras el dispositivo está conectado vía Zune no funciona y desencadena un callback de error.
### Rarezas Tizen
Tizen sólo es compatible con un `destinationType` de `Camera.DestinationType.FILE_URI` y un `sourceType` de`Camera.PictureSourceType.PHOTOLIBRARY`.
### Ejemplo
Tomar una foto y recuperarlo como una imagen codificada en base64:
***calidad**: calidad de la imagen guardada, expresada en un rango de 0-100, donde 100 es típicamente resolución sin pérdida de compresión del archivo. *(Número)* (Tenga en cuenta que no está disponible información sobre resolución de la cámara).
***destinationType**: elegir el formato del valor devuelto. Definido en `navigator.camera.DestinationType`*(número)*
Camera.DestinationType = {DATA_URL: 0, / / devolver la imagen como cadena codificada en base64 FILE_URI: 1, / / retorno de archivo de imagen URI NATIVE_URI: 2 / / retorno de la imagen nativa URI (por ejemplo, biblioteca de activos: / / on iOS o contenido: / / on Android)};
***sourceType**: establecer el origen de la imagen. Definido en `navigator.camera.PictureSourceType`*(número)*
***targetWidth**: ancho en píxeles a escala de la imagen. Debe usarse con **targetHeight**. Proporción se mantiene constante. *(Número)*
***targetHeight**: altura en píxeles a escala de la imagen. Debe usarse con **targetWidth**. Proporción se mantiene constante. *(Número)*
***mediaType**: definir el tipo de medios para seleccionar. Sólo funciona cuando `PictureSourceType` es `PHOTOLIBRARY` o `SAVEDPHOTOALBUM` . Definido en `nagivator.camera.MediaType`*(número)*
Camera.MediaType = {imagen: 0, / / permiten la selección de imágenes fijas solamente. DE FORMA PREDETERMINADA. Will return format specified via DestinationType
VIDEO: 1, // allow selection of video only, WILL ALWAYS RETURN FILE_URI
ALLMEDIA : 2 // allow selection from all media types
***correctOrientation**: rotar la imagen para corregir la orientación del dispositivo durante la captura. *(Booleano)*
***saveToPhotoAlbum**: guardar la imagen en el álbum de fotos en el dispositivo después de su captura. *(Booleano)*
***popoverOptions**: opciones sólo iOS que especifican popover ubicación en iPad. Definido en`CameraPopoverOptions`.
***cameraDirection**: elegir la cámara para usar (o parte posterior-frontal). Definido en `navigator.camera.Direction`*(número)*
Camera.Direction = {atrás: 0, / / usar la cámara trasera frente: 1 / / usar la cámara frontal};
### Amazon fuego OSQuirks
* Cualquier `cameraDirection` valor resultados en una foto orientada hacia atrás.
* Ignora el `allowEdit` parámetro.
*`Camera.PictureSourceType.PHOTOLIBRARY`y `Camera.PictureSourceType.SAVEDPHOTOALBUM` ambas muestran el mismo álbum de fotos.
### Rarezas Android
* Cualquier `cameraDirection` valor resultados en una foto orientada hacia atrás.
* Ignora el `allowEdit` parámetro.
*`Camera.PictureSourceType.PHOTOLIBRARY`y `Camera.PictureSourceType.SAVEDPHOTOALBUM` ambas muestran el mismo álbum de fotos.
### BlackBerry 10 rarezas
* Ignora el `quality` parámetro.
* Ignora el `sourceType` parámetro.
* Ignora el `allowEdit` parámetro.
*`Camera.MediaType`No se admite.
* Ignora el `correctOrientation` parámetro.
* Ignora el `cameraDirection` parámetro.
### Firefox OS rarezas
* Ignora el `quality` parámetro.
*`Camera.DestinationType`se ignora y es igual a `1` (URI del archivo de imagen)
* Ignora el `allowEdit` parámetro.
* Ignora el `PictureSourceType` parámetro (usuario elige en una ventana de diálogo)
* Ignora el`encodingType`
* Ignora el `targetWidth` y`targetHeight`
*`Camera.MediaType`No se admite.
* Ignora el `correctOrientation` parámetro.
* Ignora el `cameraDirection` parámetro.
### iOS rarezas
* Establecer `quality` por debajo de 50 para evitar errores de memoria en algunos dispositivos.
* Cuando se utiliza `destinationType.FILE_URI` , fotos se guardan en el directorio temporal de la aplicación. Puedes borrar el contenido de este directorio mediante la `navigator.fileMgr` API si el espacio de almacenamiento es un motivo de preocupación.
### Rarezas Tizen
* opciones no compatibles
* siempre devuelve un identificador URI de archivo
### Windows Phone 7 y 8 rarezas
* Ignora el `allowEdit` parámetro.
* Ignora el `correctOrientation` parámetro.
* Ignora el `cameraDirection` parámetro.
* Ignora el `mediaType` propiedad de `cameraOptions` como el SDK de Windows Phone no proporciona una manera para elegir videos fototeca.
## CameraError
onError función callback que proporciona un mensaje de error.
function(message) {
// Show a helpful message
}
### Parámetros
***mensaje**: el mensaje es proporcionado por código nativo del dispositivo. *(String)*
## cameraSuccess
onSuccess función callback que proporciona los datos de imagen.
function(imageData) {
// Do something with the image
}
### Parámetros
***imageData**: codificación en Base64 de los datos de imagen, *o* el archivo de imagen URI, dependiendo de `cameraOptions` en vigor. *(String)*
Sólo iOS parámetros que especifican la dirección ancla elemento ubicación y la flecha de la popover al seleccionar imágenes de biblioteca o álbum de un iPad.
Tenga en cuenta que puede cambiar el tamaño de la popover para ajustar la dirección de la flecha y orientación de la pantalla. Asegúrese de que para tener en cuenta los cambios de orientación cuando se especifica la ubicación del elemento de anclaje.
## Navigator.Camera.Cleanup
Elimina intermedio fotos tomadas por la cámara de almacenamiento temporal.
Elimina intermedio archivos de imagen que se mantienen en depósito temporal después de llamar `camera.getPicture` . Se aplica sólo cuando el valor de `Camera.sourceType` es igual a `Camera.PictureSourceType.CAMERA` y el `Camera.destinationType` es igual a`Camera.DestinationType.FILE_URI`.