Camera

The Camera API allows a user to pick a photo from their photo album or take a picture.

Usage
Camera.getPhoto({
    quality: 50,
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.CAMERA,
    encodingType: Camera.EncodingType.JPEG,
    mediaType: Camera.MediaType.PICTURE
}).then(
    function(fileUri) {
        console.log(fileUri);
        // fileUri will contain a path that can passed to the Filesystem API
        // to read the raw data of the image, copy the picture or save it somewhere
        // if desired (or pass destinationType: Camera.DestinationType.DATA_URL to getPicture)
    },
    (error) => {
        // Handle error
        console.log(error);
    }
);
window.Camera.getPhoto({quality: 50,
    destinationType: window.Camera.DestinationType.FILE_URI,
    sourceType: window.Camera.PictureSourceType.CAMERA,
    encodingType: window.Camera.EncodingType.JPEG,
    mediaType: window.Camera.MediaType.PICTURE,
}).then(
    function (fileUri) {
        console.log(fileUri);
        // fileUri will contain a path that can passed to the Filesystem API
        // to read the raw data of the image, copy the picture or save it somewhere
        // if desired (or pass destinationType: Camera.DestinationType.DATA_URL to getPicture)
    },
    (error) => {
        // Handle error
        console.log(error);
    }
);
window.Camera.getPhoto({quality: 50,
    destinationType: window.Camera.DestinationType.FILE_URI,
    sourceType: window.Camera.PictureSourceType.CAMERA,
    encodingType: window.Camera.EncodingType.JPEG,
    mediaType: window.Camera.MediaType.PICTURE,
}).then(
    function (fileUri) {
        console.log(fileUri);
        // fileUri will contain a path that can passed to the Filesystem API
        // to read the raw data of the image, copy the picture or save it somewhere
        // if desired (or pass destinationType: Camera.DestinationType.DATA_URL to getPicture)
    },
    (error) => {
        // Handle error
        console.log(error);
    }
);
(<any>window).Camera.getPhoto({
    quality: 50,
    destinationType: (window).Camera.DestinationType.FILE_URI,
    sourceType: (window).Camera.PictureSourceType.CAMERA,
    encodingType: (window).Camera.EncodingType.JPEG,
    mediaType: (window).Camera.MediaType.PICTURE,
}).then(
    function (fileUri) {
        console.log(fileUri);
        // fileUri will contain a path that can passed to the Filesystem API
        // to read the raw data of the image, copy the picture or save it somewhere
        // if desired (or pass destinationType: Camera.DestinationType.DATA_URL to getPicture)
    },
    (error) => {
        // Handle error
        console.log(error);
    }
);
window.Camera.getPhoto({quality: 50,
    destinationType: window.Camera.DestinationType.FILE_URI,
    sourceType: window.Camera.PictureSourceType.CAMERA,
    encodingType: window.Camera.EncodingType.JPEG,
    mediaType: window.Camera.MediaType.PICTURE,
}).then(
    function (fileUri) {
        console.log(fileUri);
        // fileUri will contain a path that can passed to the Filesystem API
        // to read the raw data of the image, copy the picture or save it somewhere
        // if desired (or pass destinationType: Camera.DestinationType.DATA_URL to getPicture)
    },
    (error) => {
        // Handle error
        console.log(error);
    }
);

Classes


Camera

getPhoto
getPhoto(options:CameraOptions): Promise<CameraPhoto>

Prompt the user to pick a photo from an album, or take a new photo with the camera.


PARAMETERS
options: CameraOptions

RETURN
returns: Promise <CameraPhoto>

Returns a Promise that resolves with the image file URI, or Base64 encoding of the image data, depending on CameraOptions, otherwise rejects with an error.

PERMISSIONS

This method requires CAMERA and STORAGE Permissions set on Fawi Office - publish settings.

Interfaces Used

CameraOptions

interface CameraOptions {
    // Whether to allow the user to crop or make small edits 
    allowEdit ?: boolean,
    // Choose the camera to use (front- or back-facing). Default: Camera.Direction.BACK
    cameraDirection ?: Camera.Direction,
    // Whether to automatically rotate the image "up" to correct for orientation in portrait mode Default: true
    correctOrientation ?: boolean,
    // How the data should be returned. Can be 'DATA_URL', 'FILE_URI' or 'NATIVE_URI' 
    destinationType ? : Camera.DestinationType,
    // Choose the returned image file's encoding. Default: Camera.EncodingType.JPEG 
    encodingType ? : Camera.EncodingType,
    // Quality of the saved image, expressed as a range of 0-100, where 100 is typically full resolution with no loss from file compression.
    quality ?: number,
    // Save the image to the photo album on the device after capture. Default: false
    saveToPhotoAlbum ?: boolean,
    // The source to get the photo from. Default: Camera.PictureSourceType.CAMERA
    sourceType ?: Camera.PictureSourceType
    // Set the type of media to select from. Only works when PictureSourceType is PHOTOLIBRARY or SAVEDPHOTOALBUM
    mediaType ? : int,
    // Width in pixels to scale image. Must be used with targetHeight. Aspect ratio remains constant.
    targetWidth ? : int,
    // // Height in pixels to scale image. Must be used with targetWidth. Aspect ratio remains constant.
    targetHeight ? : int
}

CameraPhoto

interface CameraPhoto {
    // The base64 encoded string representation of the image, if using CameraResultType.BASE64
    base64String: string,
    // The url starting with ‘data:image/jpeg;base64,’ and the base64 encoded string representation of the image, if using CameraResultType.DATAURL
    dataUrl: string,
    // If using CameraResultType.URI, the path will contain a full, platform-specific file URL that can be read later using the Filsystem API
    path: string,
    // webPath returns a path that can be used to set the src attribute of an image for efficient loading and rendering
    webPath: string,
    // Exif data, if any, retrieved from the image
    exif: any,
    // The format of the image, ex: jpeg, png, gif. iOS and Android only support jpeg. Web supports jpeg and png. gif is only supported if using file input
    format: string
}

Enumeration

Direction

enum Direction {
    BACK: 0, // Use the back-facing camera
    FRONT: 1 // Use the front-facing camera
}

DestinationType

enum DestinationType {
    DATA_URL: 0, // Return base64 encoded string
    FILE_URI: 1, // Return file uri
    NATIVE_URI: 2 // Return native uri
}

EncodingType

enum EncodingType {
    JPEG: 0, // Return JPEG encoded image
    PNG: 1 // Return PNG encoded image
}

PictureSourceType

enum PictureSourceType {
    CAMERA: 1, // Take picture from camera
    PHOTOLIBRARY: 0, // Choose image from picture library
    SAVEDPHOTOALBUM: 2 // Choose image from picture library
}

MediaType

enum MediaType {
    ALLMEDIA: 0, // Allow selection from all media types
    PICTURE: 1, // DEFAULT value. Allow selection of still pictures only. Will return format specified via DestinationType
    VIDEO: 2 // Allow selection of video only, ONLY RETURNS URL
}

CameraResultType

enum CameraResultType {
    URI: "uri",
    BASE64: "base64",
    DATAURL: "dataUrl"
}