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 |