Camera
Take a photo or capture video.
Requires the Cordova plugin: cordova-plugin-camera. For more info, please see the Cordova Camera Plugin Docs.
[Warning] Since IOS 10 the camera requires permissions to be placed in your config.xml add
<config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
 <string>You can take photos</string>
</config-file>
inside of the <platform name='ios> section
Repo: https://github.com/apache/cordova-plugin-camera
Installation
- Install the Cordova and Ionic Native plugins:
 $ ionic cordova plugin add cordova-plugin-camera $ npm install --save @ionic-native/camera@4
- Add this plugin to your app's module
Supported platforms
- Android
- Browser
- iOS
- Windows
Usage
import { Camera, CameraOptions } from '@ionic-native/camera';
constructor(private camera: Camera) { }
...
const options: CameraOptions = {
  quality: 100,
  destinationType: this.camera.DestinationType.FILE_URI,
  encodingType: this.camera.EncodingType.JPEG,
  mediaType: this.camera.MediaType.PICTURE
}
this.camera.getPicture(options).then((imageData) => {
 // imageData is either a base64 encoded string or a file URI
 // If it's base64 (DATA_URL):
 let base64Image = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
 // Handle error
});
Instance Members
DestinationType
Constant for possible destination types
EncodingType
Convenience constant
MediaType
Convenience constant
PictureSourceType
Convenience constant
PopoverArrowDirection
Convenience constant
Direction
Convenience constant
getPicture(options)
Take a picture or video, or load one from the library.
| Param | Type | Details | 
|---|---|---|
| options | CameraOptions | Options that you want to pass to the camera. Encoding type, quality, etc. Platform-specific quirks are described in the Cordova plugin docs.Optional | 
  Returns: Promise<any> Returns a Promise that resolves with Base64 encoding of the image data, or the image file URI, depending on cameraOptions, otherwise rejects with an error.
cleanup()
Platforms:iOS
Remove intermediate image files that are kept in temporary storage after calling camera.getPicture. Applies only when the value of Camera.sourceType equals Camera.PictureSourceType.CAMERA and the Camera.destinationType equals Camera.DestinationType.FILE_URI.
  Returns: Promise<any>
CameraOptions
| Param | Type | Details | 
|---|---|---|
| quality | number | Picture quality in range 0-100. Default is 50(optional) | 
| destinationType | number | Choose the format of the return value. Defined in Camera.DestinationType. Default is FILE_URI. DATA_URL : 0, Return image as base64-encoded string (DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible), FILE_URI : 1, Return image file URI, NATIVE_URI : 2 Return image native URI (e.g., assets-library:// on iOS or content:// on Android)(optional) | 
| sourceType | number | Set the source of the picture. Defined in Camera.PictureSourceType. Default is CAMERA. PHOTOLIBRARY : 0, CAMERA : 1, SAVEDPHOTOALBUM : 2(optional) | 
| allowEdit | boolean | Allow simple editing of image before selection.(optional) | 
| encodingType | number | Choose the returned image file's encoding. Defined in Camera.EncodingType. Default is JPEG JPEG : 0 Return JPEG encoded image PNG : 1 Return PNG encoded image(optional) | 
| targetWidth | number | Width in pixels to scale image. Must be used with targetHeight. Aspect ratio remains constant.(optional) | 
| targetHeight | number | Height in pixels to scale image. Must be used with targetWidth. Aspect ratio remains constant.(optional) | 
| mediaType | number | Set the type of media to select from. Only works when PictureSourceType is PHOTOLIBRARY or SAVEDPHOTOALBUM. Defined in Camera.MediaType PICTURE: 0 allow selection of still pictures only. DEFAULT. 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(optional) | 
| correctOrientation | boolean | Rotate the image to correct for the orientation of the device during capture.(optional) | 
| saveToPhotoAlbum | boolean | Save the image to the photo album on the device after capture.(optional) | 
| cameraDirection | number | Choose the camera to use (front- or back-facing). Defined in Camera.Direction. Default is BACK. BACK: 0 FRONT: 1(optional) | 
| popoverOptions | CameraPopoverOptions | iOS-only options that specify popover location in iPad. Defined in CameraPopoverOptions.(optional) | 
CameraPopoverOptions
| Param | Type | Details | 
|---|---|---|
| x | number | |
| y | number | |
| width | number | |
| height | number | |
| arrowDir | number | Direction the arrow on the popover should point. Defined in Camera.PopoverArrowDirection Matches iOS UIPopoverArrowDirection constants. ARROW_UP : 1, ARROW_DOWN : 2, ARROW_LEFT : 4, ARROW_RIGHT : 8, ARROW_ANY : 15 |